[Bug 706831] composition: Release objects lock while forwarding an event
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Aug 26 14:09:41 PDT 2013
https://bugzilla.gnome.org/show_bug.cgi?id=706831
GStreamer | gnonlin | unspecified
--- Comment #1 from Thibault Saunier <thibault.saunier at collabora.com> 2013-08-26 21:09:38 UTC ---
Created an attachment (id=253177)
View: https://bugzilla.gnome.org/attachment.cgi?id=253177
Review: https://bugzilla.gnome.org/review?bug=706831&attachment=253177
composition: Release objects lock while forwarding an event
There is no reason to keep it and in some rare cases it creates
deadlocks as followed:
t1:
→ Composition receives a flushing seek, it takes the OBJECTS_LOCK
and fowards the flushing seek event upstream
→ adder receives the seek and set its collectpad to flushing
This implies tacking STREAM_LOCK (collectpad)
t2:
→ Collectpad has buffers ready, and has the STREAM_LOCK
(collectpad) and is EOS, so it sends it downstream
→ The composition receives EOS, and needs to check if it is
the actual EOS or not, thus need to take the OBJECTS_LOCK
This create a deadlock, and in the first stage, we did not need the
OBJECTS_LOCK to forward downstream the flushing seek, so do not take
it.
--
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