[PATCH 2/3] winegstreamer: Fix deadlock when changing state
Maarten Lankhorst
m.b.lankhorst at gmail.com
Thu Nov 11 16:22:59 CST 2010
Leaving the lock is legal and required here since gstreamer has its own locking in place. gst_pad_push could otherwise deadlock.
---
dlls/winegstreamer/gsttffilter.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/dlls/winegstreamer/gsttffilter.c b/dlls/winegstreamer/gsttffilter.c
index a304cc1..912439e 100644
--- a/dlls/winegstreamer/gsttffilter.c
+++ b/dlls/winegstreamer/gsttffilter.c
@@ -267,7 +267,9 @@ static HRESULT WINAPI Gstreamer_transform_ProcessEnd(TransformFilter *iface) {
GstTfImpl *This = (GstTfImpl*)iface;
int ret;
+ LeaveCriticalSection(&This->tf.filter.csFilter);
ret = gst_element_set_state(This->filter, GST_STATE_READY);
+ EnterCriticalSection(&This->tf.filter.csFilter);
TRACE("Returned: %i\n", ret);
return S_OK;
}
--
1.7.1
More information about the wine-patches
mailing list