wine/dlls/winegstreamer
Bernhard Kölbl ef1b964826 winegstreamer: Leave media source critical section before unlocking workqueue.
Today, if media_source_Shutdown is called around the same time
as a work item is put on the async_commands_queue, we end up in
a deadlock if Shutdown enters media source's cs first, as it
waits for the queue's callback to finish, which, in turn,
waits for the object's cs to be released.

To avoid this leave the cs, before unlocking the workqueue,
to let any callback on the queue finish running.

Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2023-08-03 20:45:16 +09:00
..
aac_decoder.c winegstreamer: Replace pointers with handles in PE->Unix transition. 2023-07-10 20:33:24 +02:00
color_convert.c winegstreamer: Replace pointers with handles in PE->Unix transition. 2023-07-10 20:33:24 +02:00
gst_guids.h
gst_private.h winegstreamer: Keep default decodebin queue limits. 2023-07-31 18:24:46 +09:00
h264_decoder.c winegstreamer: Replace pointers with handles in PE->Unix transition. 2023-07-10 20:33:24 +02:00
main.c winegstreamer: Keep default decodebin queue limits. 2023-07-31 18:24:46 +09:00
Makefile.in
media_source.c winegstreamer: Leave media source critical section before unlocking workqueue. 2023-08-03 20:45:16 +09:00
mfplat.c
quartz_parser.c winegstreamer: Keep default decodebin queue limits. 2023-07-31 18:24:46 +09:00
quartz_transform.c winegstreamer: Replace pointers with handles in PE->Unix transition. 2023-07-10 20:33:24 +02:00
resampler.c winegstreamer: Replace pointers with handles in PE->Unix transition. 2023-07-10 20:33:24 +02:00
rsrc.rc
unix_private.h winegstreamer: Use a fixed size type for wg_sample data pointer. 2023-07-27 13:12:06 +09:00
unixlib.c
unixlib.h winegstreamer: Keep default decodebin queue limits. 2023-07-31 18:24:46 +09:00
video_decoder.c winegstreamer: Replace pointers with handles in PE->Unix transition. 2023-07-10 20:33:24 +02:00
video_processor.c winegstreamer: Replace pointers with handles in PE->Unix transition. 2023-07-10 20:33:24 +02:00
wg_allocator.c winegstreamer: Avoid releasing wg_allocator memory samples twice. 2023-07-31 18:20:44 +09:00
wg_format.c
wg_parser.c winegstreamer: Keep default decodebin queue limits. 2023-07-31 18:24:46 +09:00
wg_sample.c winegstreamer: Use a fixed size type for wg_sample data pointer. 2023-07-27 13:12:06 +09:00
wg_transform.c winegstreamer: Use a fixed size type for wg_sample data pointer. 2023-07-27 13:12:06 +09:00
winegstreamer.rgs
winegstreamer.spec
winegstreamer_classes.idl
wm_reader.c winegstreamer: Keep default decodebin queue limits. 2023-07-31 18:24:46 +09:00
wma_decoder.c winegstreamer: Replace pointers with handles in PE->Unix transition. 2023-07-10 20:33:24 +02:00
wmv_decoder.c winegstreamer: Replace pointers with handles in PE->Unix transition. 2023-07-10 20:33:24 +02:00