winegstreamer/gsttffilter: Don't drop the streaming lock in Gstreamer_transform_ProcessEnd().
This sort of reverts 096da45036
. The deadlock
mentioned there is not spelled out in detail, but likely results from the
streaming thread trying to acquire the filter lock while a main thread which
is holding the filter lock waits for the streaming thread to finish. However,
DirectShow documentation (and manual testing) suggests that the correct way
to avoid this problem is simply to never take the filter lock from the
streaming thread. Since we currently don't do this anymore, it should be safe
to reinstate this lock.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
3a7f54947e
commit
bdc09fb8b4
|
@ -272,9 +272,7 @@ static HRESULT WINAPI Gstreamer_transform_ProcessEnd(TransformFilter *iface)
|
|||
|
||||
mark_wine_thread();
|
||||
|
||||
LeaveCriticalSection(&This->tf.csReceive);
|
||||
ret = gst_element_set_state(This->filter, GST_STATE_READY);
|
||||
EnterCriticalSection(&This->tf.csReceive);
|
||||
TRACE("Returned: %i\n", ret);
|
||||
return S_OK;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue