Zebediah Figura : strmbase: Don't execute OnStartStreaming() or OnStopStreaming() callbacks if the sink is unconnected.
Alexandre Julliard
julliard at winehq.org
Fri Sep 27 15:56:29 CDT 2019
Module: wine
Branch: master
Commit: 802ebaf9dbe781db73ac1b9373b659aad687fd45
URL: https://source.winehq.org/git/wine.git/?a=commit;h=802ebaf9dbe781db73ac1b9373b659aad687fd45
Author: Zebediah Figura <z.figura12 at gmail.com>
Date: Thu Sep 26 21:40:48 2019 -0500
strmbase: Don't execute OnStartStreaming() or OnStopStreaming() callbacks if the sink is unconnected.
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/strmbase/renderer.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/strmbase/renderer.c b/dlls/strmbase/renderer.c
index 5634ab1905..051230186d 100644
--- a/dlls/strmbase/renderer.c
+++ b/dlls/strmbase/renderer.c
@@ -407,7 +407,7 @@ HRESULT WINAPI BaseRendererImpl_Stop(IBaseFilter * iface)
EnterCriticalSection(&This->csRenderLock);
{
RendererPosPassThru_ResetMediaTime(This->pPosition);
- if (This->pFuncsTable->renderer_stop_stream)
+ if (This->sink.pin.pConnectedTo && This->pFuncsTable->renderer_stop_stream)
This->pFuncsTable->renderer_stop_stream(This);
This->filter.state = State_Stopped;
SetEvent(This->state_event);
@@ -449,7 +449,7 @@ HRESULT WINAPI BaseRendererImpl_Run(IBaseFilter * iface, REFERENCE_TIME tStart)
if (SUCCEEDED(hr))
{
QualityControlRender_Start(This->qcimpl, This->filter.rtStreamStart);
- if (This->pFuncsTable->renderer_start_stream)
+ if (This->sink.pin.pConnectedTo && This->pFuncsTable->renderer_start_stream)
This->pFuncsTable->renderer_start_stream(This);
if (This->filter.state == State_Stopped)
BaseRendererImpl_ClearPendingSample(This);
@@ -477,7 +477,7 @@ HRESULT WINAPI BaseRendererImpl_Pause(IBaseFilter * iface)
ResetEvent(This->state_event);
This->sink.end_of_stream = FALSE;
}
- else if (This->pFuncsTable->renderer_stop_stream)
+ else if (This->sink.pin.pConnectedTo && This->pFuncsTable->renderer_stop_stream)
This->pFuncsTable->renderer_stop_stream(This);
if (This->filter.state == State_Stopped)
More information about the wine-cvs
mailing list