[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