From fd966f8322321c7f918196b2116925564d0df685 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Mon, 15 Sep 2008 19:47:44 +0200 Subject: [PATCH] quartz: Add missing calls to EndFlush. --- dlls/quartz/parser.c | 2 ++ dlls/quartz/pin.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/dlls/quartz/parser.c b/dlls/quartz/parser.c index 7f2530037cc..628eab60774 100644 --- a/dlls/quartz/parser.c +++ b/dlls/quartz/parser.c @@ -231,6 +231,7 @@ HRESULT WINAPI Parser_Stop(IBaseFilter * iface) if (This->state == State_Stopped) { LeaveCriticalSection(&This->csFilter); + IAsyncReader_EndFlush(This->pInputPin->pReader); LeaveCriticalSection(&pin->thread_lock); return S_OK; } @@ -246,6 +247,7 @@ HRESULT WINAPI Parser_Stop(IBaseFilter * iface) PullPin_PauseProcessing(This->pInputPin); PullPin_WaitForStateChange(This->pInputPin, INFINITE); + IAsyncReader_EndFlush(This->pInputPin->pReader); LeaveCriticalSection(&pin->thread_lock); return S_OK; diff --git a/dlls/quartz/pin.c b/dlls/quartz/pin.c index bcf09a5d98d..8f78fc3b441 100644 --- a/dlls/quartz/pin.c +++ b/dlls/quartz/pin.c @@ -1790,6 +1790,10 @@ HRESULT WINAPI PullPin_EndFlush(IPin * iface) EnterCriticalSection(&This->thread_lock); { FILTER_STATE state; + + if (This->pReader) + IAsyncReader_EndFlush(This->pReader); + IBaseFilter_GetState(This->pin.pinInfo.pFilter, INFINITE, &state); if (state != State_Stopped)