gstreamer/ext/pulse
Arun Raghavan 0ed08ac3fd pulsesink: Make emitting stream status messages synchronous
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
2014-09-30 06:28:50 +05:30
..
Makefile.am Rename GstDeviceMonitor to GstDeviceProvider 2014-06-26 14:57:36 -04:00
plugin.c Rename GstDeviceMonitor to GstDeviceProvider 2014-06-26 14:57:36 -04:00
pulsedeviceprovider.c pulse: fix compiler warnings when compiling with -DG_DISABLE_ASSERT 2014-06-29 17:06:30 +01:00
pulsedeviceprovider.h Rename GstDeviceMonitor to GstDeviceProvider 2014-06-26 14:57:36 -04:00
pulsesink.c pulsesink: Make emitting stream status messages synchronous 2014-09-30 06:28:50 +05:30
pulsesink.h pulsesink: Add property to find out the device currently in use 2013-08-22 15:03:29 -04:00
pulsesrc.c pulsesrc: Fix compiler warning when compiling with G_DISABLE_ASSERT 2014-06-29 20:02:14 +02:00
pulsesrc.h pulsesrc: Add property to find out the device currently in use 2013-08-22 13:32:04 -04:00
pulseutil.c pulse: fix format info to caps conversion for mulaw 2014-03-16 15:55:00 +00:00
pulseutil.h pulse: Make gst_pulse_format_info_to_caps() shared 2014-03-16 15:28:29 +00:00