[PATCH v4 0/5] MR302: winegstreamer: Some wg_transform H264 fixes for Mortal Kombat 11 and Yakuza 4.
Rémi Bernon (@rbernon)
wine at gitlab.winehq.org
Thu Jun 30 07:29:33 CDT 2022
> I think the correct way to do that is with
> flush-start + flush-stop; a DRAIN query might work but I'm not sure if
> it's guaranteed to force decoders to stop waiting for more data before
> sending what they have.
As an early note, I've tried both and to me it looks like the drain query is the best way here.
Flushing will apparently discard any decoder state as well, which we don't necessarily want. We only want the next buffers to be converted to the new format, and not necessarily wait until the next keyframe. For instance flushing causes the tests to fail when comparing the output image, while draining succeeds.
Draining will also eventually let us re-convert all the queued output buffers to the new format if we want to do that for compatibility at some point instead of discarding them.
More information about the wine-devel