On Tue Apr 23 09:08:57 2024 +0000, Nikolay Sivov wrote:
This doesn't look like it could be made reliable, even if it works in practice. It's not clear if e.g. next frame might be ready already after TransferVideoFrame() and before OnVideoStreamTick(). The most important part as @besentv found was that no requests are made before OnVideoStreamTick() (or was it Transfer*?) is called for the first time. So when video stream is present, playback does not start automatically, then on first api call the clock-driven audio stream start to play, while video stream requests are still controlled by user calls.
Yes, one can confirm this using dummy MFTs and looking at the processing quota. After the first call to OnVideoStreamTick, everything becomes really unreliable.