gstreamer/ext/pulse
René Stadler ae87731de5 pulsesink: prevent race condition causing ref leak
Since commit 8bfd80, gst_pulseringbuffer_stop doesn't wait for the
deferred call to be run before returning. This causes a race when
READY->NULL is executed shortly after, which stops the mainloop. This
leaks the element reference which is passed as userdata for the callback
(introduced in commit 7cf996, bug #614765).

The correct fix is to wait in READY->NULL for all outstanding calls to
be fired (since libpulse doesn't provide a DestroyNotify for the
userdata). We get rid of the reference passing from 7cf996 altogether,
since finalization from the callback would anyways lead to a deadlock.

Re-fixes bug #614765.
2011-07-05 16:36:17 +02:00
..
Makefile.am build: Makefile.am cleanups 2010-03-18 21:34:24 +00:00
plugin.c pulse: Increase ranks to PRIMARY + 10 2011-07-03 19:53:42 -07:00
pulsemixer.c ext: Don't use GST_DEBUG_FUNCPTR for GObject vfuncs 2010-06-06 18:00:22 +02:00
pulsemixer.h Add pulseaudio GStreamer element from gst-pulse. Development will continue here instead of pulseaudio SVN. Fixes bug ... 2008-06-10 06:45:33 +00:00
pulsemixerctrl.c pulsemixer: Implement MIXER_FLAG_AUTO_NOTIFICATIONS 2010-12-11 16:08:40 +11:00
pulsemixerctrl.h pulsemixer: Implement MIXER_FLAG_AUTO_NOTIFICATIONS 2010-12-11 16:08:40 +11:00
pulsemixertrack.c ext/pulse/: Use GST_BOILERPLATE everywhere and fix coding style at some places. 2008-08-20 17:46:48 +00:00
pulsemixertrack.h Add pulseaudio GStreamer element from gst-pulse. Development will continue here instead of pulseaudio SVN. Fixes bug ... 2008-06-10 06:45:33 +00:00
pulseprobe.c pulse: mainloop creation can fail too, so handle that 2009-10-17 08:48:23 +02:00
pulseprobe.h pulse: make a few things smaller by making them bitfields 2009-10-17 08:48:21 +02:00
pulsesink.c pulsesink: prevent race condition causing ref leak 2011-07-05 16:36:17 +02:00
pulsesink.h pulsesink: prevent race condition causing ref leak 2011-07-05 16:36:17 +02:00
pulsesrc.c pulse: Drop support for PA versions before 0.9.16 2011-06-21 16:47:11 -07:00
pulsesrc.h add "client" property 2010-12-29 17:02:40 +01:00
pulseutil.c pulse: Drop support for PA versions before 0.9.16 2011-06-21 16:47:11 -07:00
pulseutil.h pulse: Drop support for PA versions before 0.9.16 2011-06-21 16:47:11 -07:00