Module: wine Branch: master Commit: f63950d023eb9411a117e42ef500f9d0f9e21786 URL: http://source.winehq.org/git/wine.git/?a=commit;h=f63950d023eb9411a117e42ef5...
Author: Maarten Lankhorst m.b.lankhorst@gmail.com Date: Wed Nov 24 18:23:55 2010 +0100
quartz: Change VideoRenderer_Run to handle EndOfStream slightly better.
---
dlls/quartz/videorenderer.c | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/dlls/quartz/videorenderer.c b/dlls/quartz/videorenderer.c index 112289a..d26ecb5 100644 --- a/dlls/quartz/videorenderer.c +++ b/dlls/quartz/videorenderer.c @@ -821,19 +821,17 @@ static HRESULT WINAPI VideoRenderer_Run(IBaseFilter * iface, REFERENCE_TIME tSta EnterCriticalSection(&This->filter.csFilter); if (This->filter.state == State_Running) goto out; - if (This->pInputPin->pin.pConnectedTo) + This->filter.rtStreamStart = tStart; + QualityControlRender_Start(&This->qcimpl, tStart); + if (This->pInputPin->pin.pConnectedTo && (This->filter.state == State_Stopped || !This->pInputPin->end_of_stream)) { if (This->filter.state == State_Stopped) { - This->pInputPin->end_of_stream = 0; ResetEvent(This->hEvent); VideoRenderer_AutoShowWindow(This); + This->pInputPin->end_of_stream = 0; } SetEvent(This->blocked); - - This->filter.rtStreamStart = tStart; - This->filter.state = State_Running; - QualityControlRender_Start(&This->qcimpl, tStart); } else if (This->filter.filterInfo.pGraph) { IMediaEventSink *pEventSink; hr = IFilterGraph_QueryInterface(This->filter.filterInfo.pGraph, &IID_IMediaEventSink, (LPVOID*)&pEventSink);