On Tue Apr 1 01:18:18 2025 +0000, Nikolay Sivov wrote:
Have you tested this manually somehow? I'm not sure why this is necessary, maybe only to unload some callbacks from standard queue?
I tested mp4 playback in Windows. All video and audio work is done in one thread, except for `OnProcessSample()`, which is called from another thread. We can replicate this by ensuring the timer queue is used. This doesn't cover the case where `MF_SAMPLEGRABBERSINK_IGNORE_CLOCK` is set, and I haven't tested it. Do games use that flag rarely?
Yes, the main reason is to unload the standard queue. If the game's `OnProcessSample()` takes a bit of time, this change makes it less likely that frames will take too long to decode, which can happen with 4K, but I don't have a example of that happening in a game which uses the session engine.