From 89539b99bbe1ccf78561cfc5fe0911c70030edbb Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Fri, 4 Jul 2008 18:42:09 -0700 Subject: [PATCH] quartz: Only call some functions in transform filter when stopped --- dlls/quartz/transform.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/dlls/quartz/transform.c b/dlls/quartz/transform.c index f37e9e3..962f2f6 100644 --- a/dlls/quartz/transform.c +++ b/dlls/quartz/transform.c @@ -368,13 +368,15 @@ static HRESULT WINAPI TransformFilter_Run(IBaseFilter * iface, REFERENCE_TIME tS EnterCriticalSection(&This->csFilter); { if (This->state == State_Stopped) + { ((InputPin *)This->ppPins[0])->end_of_stream = 0; + if (This->pFuncsTable->pfnProcessBegin) + This->pFuncsTable->pfnProcessBegin(This); + OutputPin_CommitAllocator((OutputPin *)This->ppPins[1]); + } This->rtStreamStart = tStart; This->state = State_Running; - OutputPin_CommitAllocator((OutputPin *)This->ppPins[1]); - if (This->pFuncsTable->pfnProcessBegin) - This->pFuncsTable->pfnProcessBegin(This); } LeaveCriticalSection(&This->csFilter); -- 1.5.4.1