[Bug 614765] pulsesink: racy stream status leave implementation
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Jul 5 07:40:37 PDT 2011
https://bugzilla.gnome.org/show_bug.cgi?id=614765
GStreamer | gst-plugins-good | git
Mark Nauwelaerts <mnauw> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
Target Milestone|0.10.31 |0.10.36
--- Comment #18 from Mark Nauwelaerts <mnauw at users.sourceforge.net> 2011-07-05 14:40:34 UTC ---
Indeed. Thanks.
commit ae87731de5dc9a1f39edd2b4dd12db30ad1ff0fd
Author: René Stadler <rene.stadler at nokia.com>
Date: Wed Jun 29 20:59:26 2011 +0300
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.
commit f8456e2a1aaa9ae3a146ffb2a4510bff581eb88d
Author: René Stadler <rene.stadler at nokia.com>
Date: Mon Jul 4 08:58:14 2011 +0300
pulsesink: small cleanup of copy-paste code
commit 3589cee762e8bb6bf4da6bb52a58554b61de66a0
Author: René Stadler <rene.stadler at nokia.com>
Date: Wed Jun 29 19:50:42 2011 +0300
pulsesink: remove unused member variable and misleading log message
Wim changed it in commit 8bfd80 so that pa_defer_ran is not read
anywhere.
The log message used to annotate a mainloop_wait call which is gone.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list