Maarten Lankhorst : quartz: Change VideoRenderer_Run to handle EndOfStream slightly better.
Alexandre Julliard
julliard at winehq.org
Thu Nov 25 11:18:51 CST 2010
Module: wine
Branch: master
Commit: f63950d023eb9411a117e42ef500f9d0f9e21786
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f63950d023eb9411a117e42ef500f9d0f9e21786
Author: Maarten Lankhorst <m.b.lankhorst at 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);
More information about the wine-cvs
mailing list