[gstreamer-bugs] [Bug 641631] New: Manual doesn't mention syncing new elements to their parent's state
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Sat Feb 5 16:57:51 PST 2011
https://bugzilla.gnome.org/show_bug.cgi?id=641631
GStreamer | documentation | 0.10.32
Summary: Manual doesn't mention syncing new elements to their
parent's state
Classification: Desktop
Product: GStreamer
Version: 0.10.32
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: documentation
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: gnome at tibit.com
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME target: ---
GNOME version: ---
The Application Development Manual encourages handling dynamic pads (such as a
demuxer's) by watching for the pad-added signal and linking to downstream
elements as needed. Unfortunately, it neglects to mention that when adding the
new downstream elements to the pipeline, things may not work unless the
children's states are synced with their parent.
After a day of investigating a pipeline that would sometimes inexplicably
freeze and sometimes (if I rearranged my code) work, I found this post:
http://web.archiveorange.com/archive/v/8yxpz7FmOlGqxVYtkPb4
...in which the author recommends calling gst_element_sync_state_with_parent()
on a newly-added element after it is added to a bin and before linking it to a
dynamic pad. Sure enough, that solved the problem. I went back to the Manual
and checked the most obvious places:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-pads.html
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-intro-basics-bins.html
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-elements-states.html
Unless I'm blind, none of them mentions this issue. I hope someone will add
clear documentation on this state sync requirement, preferably in several
places. Knowing about it would have made my day a lot easier.
--
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