On 12/3/20 10:26 PM, Zebediah Figura (she/her) wrote:
- g_signal_emit_by_name(converter->appsink, "pull-sample", &sample);
I'm not fully familiar with mfplat, but this call may block, and it doesn't look like ProcessOutput() is supposed to. You probably want "try-pull-sample" instead.
Actually, with sync MFTs, ::ProcessOutput is blocking until a sample is yielded or an error occurs. In MFT writing guides from Microsoft I've seen, ::ProcessInput just buts the data in a buffer, and ::ProcessOutput actually invokes the functionality of the transform. This should match that behavior pretty closely.