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.
-- v3: mf: Release pending items when sample grabber is stopped.
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)
On Tue May 27 19:14:21 2025 +0000, Nikolay Sivov wrote:
There is a helper sample_grabber_release_pending_items() for that.
using that now.
This merge request was approved by Nikolay Sivov.