From ab7986390a969c2c77b5a020e82d460508bdf96a Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Mon, 6 Dec 2010 14:16:42 +0100 Subject: [PATCH] quartz: Always update time when Run is called. --- dlls/quartz/nullrenderer.c | 2 +- dlls/quartz/parser.c | 3 +-- dlls/quartz/videorenderer.c | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/dlls/quartz/nullrenderer.c b/dlls/quartz/nullrenderer.c index 7656927b9e4..cdc7621c414 100644 --- a/dlls/quartz/nullrenderer.c +++ b/dlls/quartz/nullrenderer.c @@ -345,11 +345,11 @@ static HRESULT WINAPI NullRenderer_Run(IBaseFilter * iface, REFERENCE_TIME tStar TRACE("(%p/%p)->(%s)\n", This, iface, wine_dbgstr_longlong(tStart)); EnterCriticalSection(&This->filter.csFilter); + This->filter.rtStreamStart = tStart; if (This->filter.state == State_Running) goto out; if (This->pInputPin->pin.pConnectedTo) { - This->filter.rtStreamStart = tStart; This->pInputPin->end_of_stream = 0; } else if (This->filter.filterInfo.pGraph) diff --git a/dlls/quartz/parser.c b/dlls/quartz/parser.c index cf4a2608496..354d78fb596 100644 --- a/dlls/quartz/parser.c +++ b/dlls/quartz/parser.c @@ -304,6 +304,7 @@ HRESULT WINAPI Parser_Run(IBaseFilter * iface, REFERENCE_TIME tStart) { HRESULT hr_any = VFW_E_NOT_CONNECTED; + This->filter.rtStreamStart = tStart; if (This->filter.state == State_Running || This->filter.state == State_Paused) { This->filter.state = State_Running; @@ -312,8 +313,6 @@ HRESULT WINAPI Parser_Run(IBaseFilter * iface, REFERENCE_TIME tStart) return S_OK; } - This->filter.rtStreamStart = tStart; - for (i = 1; i < (This->cStreams + 1); i++) { hr = BaseOutputPinImpl_Active((BaseOutputPin *)This->ppPins[i]); diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c index 8f492cf3189..6f2a8607e82 100644 --- a/dlls/quartz/videorenderer.c +++ b/dlls/quartz/videorenderer.c @@ -832,9 +832,9 @@ static HRESULT WINAPI VideoRenderer_Run(IBaseFilter * iface, REFERENCE_TIME tSta TRACE("(%p/%p)->(%s)\n", This, iface, wine_dbgstr_longlong(tStart)); EnterCriticalSection(&This->filter.csFilter); + This->filter.rtStreamStart = tStart; if (This->filter.state == State_Running) goto out; - This->filter.rtStreamStart = tStart; QualityControlRender_Start(&This->qcimpl, tStart); if (This->pInputPin->pin.pConnectedTo && (This->filter.state == State_Stopped || !This->pInputPin->end_of_stream)) {