quartz: Add missing calls to EndFlush.

This commit is contained in:
Maarten Lankhorst 2008-09-15 19:47:44 +02:00 committed by Alexandre Julliard
parent f0f00d1625
commit fd966f8322
2 changed files with 6 additions and 0 deletions

View File

@ -231,6 +231,7 @@ HRESULT WINAPI Parser_Stop(IBaseFilter * iface)
if (This->state == State_Stopped) if (This->state == State_Stopped)
{ {
LeaveCriticalSection(&This->csFilter); LeaveCriticalSection(&This->csFilter);
IAsyncReader_EndFlush(This->pInputPin->pReader);
LeaveCriticalSection(&pin->thread_lock); LeaveCriticalSection(&pin->thread_lock);
return S_OK; return S_OK;
} }
@ -246,6 +247,7 @@ HRESULT WINAPI Parser_Stop(IBaseFilter * iface)
PullPin_PauseProcessing(This->pInputPin); PullPin_PauseProcessing(This->pInputPin);
PullPin_WaitForStateChange(This->pInputPin, INFINITE); PullPin_WaitForStateChange(This->pInputPin, INFINITE);
IAsyncReader_EndFlush(This->pInputPin->pReader);
LeaveCriticalSection(&pin->thread_lock); LeaveCriticalSection(&pin->thread_lock);
return S_OK; return S_OK;

View File

@ -1790,6 +1790,10 @@ HRESULT WINAPI PullPin_EndFlush(IPin * iface)
EnterCriticalSection(&This->thread_lock); EnterCriticalSection(&This->thread_lock);
{ {
FILTER_STATE state; FILTER_STATE state;
if (This->pReader)
IAsyncReader_EndFlush(This->pReader);
IBaseFilter_GetState(This->pin.pinInfo.pFilter, INFINITE, &state); IBaseFilter_GetState(This->pin.pinInfo.pFilter, INFINITE, &state);
if (state != State_Stopped) if (state != State_Stopped)