On Thu Apr 24 21:00:45 2025 +0000, Nikolay Sivov wrote:
Yes, if you resume from same position it will be assumed that source produces sane time mark in the event. But there are a lot of assumptions already, and it's relatively fragile on Windows in other aspects once you start to go off default behavior. Regarding multiple sources, as I recall it works in general, e.g. you can have two completely separate video rendering branches (topoedit could be used for testing), and it works reliably. Which one is correct we can only test manually, if you return time+10 for one source and time+20 another source and see which one reaches the sink clock state method. What I haven't tried is using two separate source branches and checking if same clock instance is used for both sinks. If it's doing something mad and creates one clock per branch, next question would be what happens to the junction nodes, like transforms with multiple inputs where streams converging (there is an optional IMFClockConsumer thing where you can obviously use only one clock).
FYI - I just edited my comment above: https://gitlab.winehq.org/wine/wine/-/merge_requests/7833#note_101671
as I had missed a step. It calls `IMFMediaSource::Stop` before flushing the MFT.