[gstreamer-bugs] [Bug 596366] lockup in gst_ghost_pad_set_target

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Oct 2 07:55:46 PDT 2009


https://bugzilla.gnome.org/show_bug.cgi?id=596366
  GStreamer | gstreamer (core) | git

--- Comment #16 from Stefan Kost (gstreamer, gtkdoc dev) <ensonic at sonicpulse.de> 2009-10-02 14:55:43 UTC ---
Created an attachment (id=144598)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=144598)
break the getcaps cycle

If we allow gst_pad_proxy_getcaps to do getcaps on all other pads, we need a
way to flag all pads on our way (GST_PAD_IN_GETCAPS). Then we need to check for
that (ideally without taking a lock). If the flag is not set take the lock, if
the flag is set return ANY caps. I see no way to do the flag check and taking
the lock. We would need another lock for the flag.

The attached patch simply does a TRYLOCK on the pad and returns ANY if the lock
cannot be taken. 

It fixes the testapp and also my bigger case. It does not break any tests in
core and base for me. Still, is this the right thing to do?

-- 
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