From: Brendan McGrath <bmcgrath@codeweavers.com> When a sink is stopped, all pending requests are discarded by the client (for example IMFMediaSession). --- dlls/mfmediaengine/video_frame_sink.c | 1 + 1 file changed, 1 insertion(+) diff --git a/dlls/mfmediaengine/video_frame_sink.c b/dlls/mfmediaengine/video_frame_sink.c index f710466fed4..301a2bcd03a 100644 --- a/dlls/mfmediaengine/video_frame_sink.c +++ b/dlls/mfmediaengine/video_frame_sink.c @@ -1010,6 +1010,7 @@ static HRESULT video_frame_sink_set_state(struct video_frame_sink *sink, enum si { video_frame_sink_sample_queue_flush(sink); video_frame_sink_set_flag(sink, FLAGS_FIRST_FRAME, FALSE); + sink->sample_request_pending = FALSE; } if (state == SINK_STATE_RUNNING && (sink->state == SINK_STATE_STOPPED || sink->state == SINK_STATE_PAUSED || -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10306