[gstreamer-bugs] [Bug 383382] Removing pads from collectpads not threadsafe
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Sat Dec 16 07:21:53 PST 2006
Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=383382
GStreamer | gstreamer (core) | Ver: HEAD CVS
Wim Taymans changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #77895|none |committed
Flag| |
AssignedTo|wim at fluendo.com |gstreamer-
| |bugs at lists.sourceforge.net
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
Target Milestone|HEAD |0.10.12
------- Comment #2 from Wim Taymans 2006-12-16 15:20 UTC -------
Commited. There is still a race in the code when a pad is removed right after
it got collected, no buffer was consumed and after the check for removed but
before the _WAIT call (I marked it in the source with a FIXME). The only way to
fix this is to seriously rethink the locking, it's getting really messy..
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
(gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
(gst_collect_pads_stop), (gst_collect_pads_event),
(gst_collect_pads_chain):
* libs/gst/base/gstcollectpads.h:
Add refcounting to the collectpads data so we can track when it's safe
to free the data. Fixes #383382.
--
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
More information about the Gstreamer-bugs
mailing list