On Wed Nov 29 22:38:20 2023 +0000, Nikolay Sivov wrote:
Current version tests one thing, leaves todo for EVR failing to restart, and then the fix is applied to the session logic, that does not have much to do with EVR. Have you tried testing the session change by itself? EVR is complicated enough as it is, but for the NotifyPreroll() there is an easy way - you can use whole sample grabber sink, add prerolling interface to it, and see if it's called on Windows at all when transitioning from stop -> start.
I have tested this way because I have to make sure evr can't be prerolled twice. Because my other fix is to clear the `PREROLLED` flag in `OnClockPause`. It's only with these tests I can conclude that was not the correct fix.
that does not have much to do with EVR.
It does. Session is expecting EVR to preroll again after being paused. So the fix is either in EVR or in session. I needed these tests to rule out the fix in EVR.
testing the session change by itself?
I am not against adding a session Start -> Pause -> Start test, but that involves building a whole topology with sources, decorder and EVR, which has more moving parts. Don't know if you had a simpler test in mind.