[gstreamer-bugs] [Bug 374639] New: GstTee doesn't handle pad list resyncs properly

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Nov 13 03:13:52 PST 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=374639

  GStreamer | gstreamer (core) | Ver: HEAD CVS

           Summary: GstTee doesn't handle pad list resyncs properly
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: burger at speedy.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Please describe the problem:
If we are dynamically requesting pads on a tee while the pipeline is playing,
it might cause the pad list iteration to return GST_ITERATOR_RESYNC. In that
case the iterations will stop before going through all the pads. This means
that the return value aggregation will only include the pads up until the
resync happened. The tee would therefore return the wrong gst flow message
since the remaining pads could be successfull.

Steps to reproduce:
1. Link a few elements to a tee
2. Play the pipeline
3. Unlink some of the elements
4. Link new elements to the tee while it is playing.
Bug reproducability depends on timing (will appear if the link happens during
the iteration after the unlinked pad is passed and no other successfull push
happens)

Actual results:
tee returns an internal data flow error (-1 - unlinked) because none of the
pads previous to the resync have successfully pushed.

Expected results:
tee should be able to deal with new pads being added dynamically. On resyncs,
it should be able to try the new pad as well as the remaining pads, or at least
only the remaining pads, and then return the proper gst flow message.

Does this happen every time?
Yes if appropriate conditions are met.

Other information:


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email




More information about the Gstreamer-bugs mailing list