1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-08 03:45:57 +00:00
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 winegstreamer: Introduce a new wg_init_gstreamer unixlib entry. 2023-04-14 18:56:23 +02:00
media_source.c winegstreamer: Leave media source critical section before unlocking workqueue. 2023-08-03 20:45:16 +09:00
mfplat.c winegstreamer: Rename winegstreamer_stream_handler to stream_handler. 2023-06-27 22:14:15 +02:00
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 winegstreamer: Forbid vaapidecodebin when looking for a specific element. 2023-05-29 11:24:11 +02:00
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 winegstreamer: Remove colorimetry and chroma-site from wg_format caps. 2023-06-19 22:50:55 +02:00
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_classes.idl
winegstreamer.rgs
winegstreamer.spec
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