mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-23 07:38:16 +00:00
0ed08ac3fd
The stream status messages are emitted in the PA mainloop thread, which means the mainloop lock is taken, followed by the Gst object lock (by gst_element_post_message()). In all other locations, the order of locking is reversed (this is unavoidable in a bunch of cases where the object lock is taken by GstBaseSink or GstAudioBaseSink, and then we get control to take the mainloop lock). The only way to guarantee that the defer callback for stream status messages doesn't deadlock is to either stop posting those messages, or make sure that the message emission is completed before we proceed to any point that might take the object lock before the mainloop lock (which is what we do after this patch). https://bugzilla.gnome.org/show_bug.cgi?id=736071 |
||
---|---|---|
.. | ||
Makefile.am | ||
plugin.c | ||
pulsedeviceprovider.c | ||
pulsedeviceprovider.h | ||
pulsesink.c | ||
pulsesink.h | ||
pulsesrc.c | ||
pulsesrc.h | ||
pulseutil.c | ||
pulseutil.h |