[Bug 673708] using playbin2 with "fd://" URIs randomly hangs or crashes

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Apr 16 08:25:40 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=673708
  GStreamer | gst-plugins-base | 0.10.35

--- Comment #9 from Akihiro Tsukada <tskd2 at yahoo.co.jp> 2012-04-16 15:25:35 UTC ---
Created an attachment (id=212151)
 View: https://bugzilla.gnome.org/attachment.cgi?id=212151
 Review: https://bugzilla.gnome.org/review?bug=673708&attachment=212151

Patch to fix the dead lock

[PATCH] remove the unnecessary PLAYBIN_LOCK around autoplug_continue_cb()

I think the LOCK caused this bug.
When the play out of the old URI is ending, activate_group() is called
from the thread for the old URI, with the PLAYBIN_LOCK held.
activate_group() sets the state of the child uridecodebin for the new URI
to PAUSED state and wait for its completion without releasing the LOCK.
The awakened uridecodebin invokes another thread which requires the
PLAYBIN_LOCK to continue auto-plugging, resulting in a dead lock.

The LOCK was added to protect the change of playbin->{audio-,video-,text-}sink
properties, but actually it was useless as the properties were not proteced
during the whole lifetime of the group, and they are now copied to the
corresponding group properties in the group activation (commit a0ff13217a).

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