MR !607 was trying to fix an issue with Life Is Strange Remastered, but although it fixed some race conditions with presentation end, the issue it was trying to fix is still there.
The game calls IMFMediaSession_Stop while the presentation is ending, expects that command to quickly execute, interrupting the presentation end and emitting a MESessionStopped event instead of the MESessionEnded.
Delaying the Stop command and emitting the MESessionEnded event breaks the game assumptions and it crashes.
-- v4: mf: Discard end of presentation on IMFMediaSession_Stop. mf/tests: Test IMFMediaSession_Stop command near presentation end. mf/tests: Test Start / Pause / Stop IMFMEdiaSession events. mf/tests: Split wait_media_event helper into wait_next_media_event.