[PATCH 4/4] winegstreamer: fix crash

Miklós Máté mtmkls at gmail.com
Thu May 25 09:54:50 CDT 2017


If the pad is set active, data starts to flow, and the push_data() callback
is launched in a background thread. Meanwhile in the main thread
GST_Connect() is done, GSTInPin_ReceiveConnection() destroys the stuff
created for the test-play, and push_data() eventually segfaults. Ouch.

Signed-off-by: Miklós Máté <mtmkls at gmail.com>
---
 dlls/winegstreamer/gstdemux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c
index c33ed9e41c..f62bb4ce85 100644
--- a/dlls/winegstreamer/gstdemux.c
+++ b/dlls/winegstreamer/gstdemux.c
@@ -1187,7 +1187,7 @@ static HRESULT GST_Connect(GSTInPin *pPin, IPin *pConnectPin, ALLOCATOR_PROPERTI
 
     /* don't set active during test-play, as we don't want to push/pull data
      * from the source yet */
-    gst_pad_set_active(This->my_src, 1);
+    gst_pad_set_active(This->my_src, 0);
 
     This->nextofs = This->nextpullofs = 0;
     return hr;
-- 
2.11.0




More information about the wine-patches mailing list