From 079d63e66c9f00030c94a5cc5e821ea898e83c98 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Tue, 19 Dec 2017 20:49:20 -0600 Subject: [PATCH] winegstreamer: Hold a reference to the filter in push_data(). Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- dlls/winegstreamer/gstdemux.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c index 95a16306cf0..a19c64ff726 100644 --- a/dlls/winegstreamer/gstdemux.c +++ b/dlls/winegstreamer/gstdemux.c @@ -510,6 +510,8 @@ static DWORD CALLBACK push_data(LPVOID iface) DWORD_PTR user; HRESULT hr; + IBaseFilter_AddRef(&This->filter.IBaseFilter_iface); + if (!This->stop) IAsyncReader_Length(This->pInputPin.pReader, &maxlen, &curlen); else @@ -589,6 +591,9 @@ static DWORD CALLBACK push_data(LPVOID iface) } while (buf); TRACE("Stopping.. %08x\n", hr); + + IBaseFilter_Release(&This->filter.IBaseFilter_iface); + return 0; }