[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