From: Charlotte Pabst cpabst@codeweavers.com
Before this, if the grabber is stopped while items are pending and then restarted, it would stop delivering any items because it does not start the timer while the pending item list is non-empty. --- dlls/mf/samplegrabber.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dlls/mf/samplegrabber.c b/dlls/mf/samplegrabber.c index de599139736..016c68f98b8 100644 --- a/dlls/mf/samplegrabber.c +++ b/dlls/mf/samplegrabber.c @@ -1191,6 +1191,7 @@ static HRESULT sample_grabber_set_state(struct sample_grabber *grabber, enum sin sample_grabber_cancel_timer(grabber); release_samples(grabber); grabber->sample_count = MAX_SAMPLE_QUEUE_LENGTH; + sample_grabber_release_pending_items(grabber); }
if (state == SINK_STATE_RUNNING && grabber->state != SINK_STATE_RUNNING)