[gstreamer-bugs] [Bug 354845] setting not fully connected pipeline to PAUSED locks up

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Sat Sep 9 06:09:45 PDT 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=354845
 GStreamer | gstreamer (core) | Ver: HEAD CVS


Wim Taymans changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wim at fluendo.com
             Status|UNCONFIRMED                 |NEEDINFO




------- Comment #3 from Wim Taymans  2006-09-09 13:09 UTC -------
No a bug:

- The sink is waiting to preroll which will never happen as it is not
commected. This is normal behaviour, an application should not add a sink if it
is not linked yet. gst-launch is simple and stupid; it also does blocking
calls.
- The unlinked elements might become linked at some time in the future,
GStreamer cannot know this. gst-launch depends on this behaviour to handle
dynamic pads. 

This is a way for an application to ensure that all sinks will preroll:

- there are no dynmic things going on in the pipeline (dynamic pads that might
link/unlink elements, timouts to add and link/unlink elements, ...)
- use gst_bin_iterate_sinks() to follow the dataflow upstream, if each of the
sinks reach a source element, it´ll likely preroll.

Some remarks:

- Even if a sink is linked, it might not preroll because it receives no data (a
demuxer does not produce data on that pad). Sparse steams might help..
- before you run a pipeline, remove (or state lock) all unlinked sinks.

Can we do more?


-- 
Configure bugmail: http://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