Module: wine Branch: master Commit: 94efc8b25b96262a527272117406dbf73cccad5c URL: https://source.winehq.org/git/wine.git/?a=commit;h=94efc8b25b96262a527272117...
Author: Zebediah Figura z.figura12@gmail.com Date: Tue Oct 1 22:43:11 2019 -0500
strmbase: Don't send EC_COMPLETE in IBaseFilter::Run().
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/strmbase/renderer.c | 31 +++++++++---------------------- 1 file changed, 9 insertions(+), 22 deletions(-)
diff --git a/dlls/strmbase/renderer.c b/dlls/strmbase/renderer.c index 038cb48b57..1de974a909 100644 --- a/dlls/strmbase/renderer.c +++ b/dlls/strmbase/renderer.c @@ -420,7 +420,6 @@ HRESULT WINAPI BaseRendererImpl_Stop(IBaseFilter * iface)
HRESULT WINAPI BaseRendererImpl_Run(IBaseFilter * iface, REFERENCE_TIME tStart) { - HRESULT hr = S_OK; BaseRenderer *This = impl_from_IBaseFilter(iface); TRACE("(%p)->(%s)\n", This, wine_dbgstr_longlong(tStart));
@@ -435,30 +434,18 @@ HRESULT WINAPI BaseRendererImpl_Run(IBaseFilter * iface, REFERENCE_TIME tStart) { This->sink.end_of_stream = FALSE; } - else if (This->filter.filterInfo.pGraph) - { - IMediaEventSink *pEventSink; - hr = IFilterGraph_QueryInterface(This->filter.filterInfo.pGraph, &IID_IMediaEventSink, (LPVOID*)&pEventSink); - if (SUCCEEDED(hr)) - { - hr = IMediaEventSink_Notify(pEventSink, EC_COMPLETE, S_OK, (LONG_PTR)This); - IMediaEventSink_Release(pEventSink); - } - hr = S_OK; - } - if (SUCCEEDED(hr)) - { - QualityControlRender_Start(This->qcimpl, This->filter.rtStreamStart); - if (This->sink.pin.peer && This->pFuncsTable->renderer_start_stream) - This->pFuncsTable->renderer_start_stream(This); - if (This->filter.state == State_Stopped) - BaseRendererImpl_ClearPendingSample(This); - This->filter.state = State_Running; - } + + QualityControlRender_Start(This->qcimpl, This->filter.rtStreamStart); + if (This->sink.pin.peer && This->pFuncsTable->renderer_start_stream) + This->pFuncsTable->renderer_start_stream(This); + if (This->filter.state == State_Stopped) + BaseRendererImpl_ClearPendingSample(This); + This->filter.state = State_Running; + out: LeaveCriticalSection(&This->csRenderLock);
- return hr; + return S_OK; }
HRESULT WINAPI BaseRendererImpl_Pause(IBaseFilter * iface)