[gst-devel] Fun with state changes.

Edward Hervey bilboed at gmail.com
Mon May 15 00:40:44 CEST 2006


  With decodebin, you *want* to add elements on 'new-decoded-pad'
signal being emmited from decodebin. That will solve your basesrc


On 5/15/06, Iain * <iaingnome at gmail.com> wrote:
> Is it possible to pause a state change? My situation is as such
> My custom pipeline (a subclassed GstPipeline) starts off with two
> elements in it:
> src->decodebin
> And the application sets the state to PLAYING. The subclass listens to
> message signal on the pipeline's message bus and when it receives a
> message that the pipeline has reached PAUSED it adds some more
> elements to the audio srcpad that had been created in decodebin.
> The problem is that after before the pipeline receives the
> state-change message about PAUSED it sets this error:
> Message: Internal data flow error.
> Debug: gstbasesrc.c(1479): gst_base_src_loop (): /mypipeline0/src:
> streaming task paused, reason not-linked
> src was initially linked to the decodebin before the state change
> started. Is it that the it is somehow trying to set the state to
> PLAYING before I get a chance to add the rest of the elements?
> I have attached a compressed log: the Internal data flow error is
> started at line 10840.
> Am I trying to do something silly (again?)
> thanks
> iain

Edward Hervey
Junior developer / Fluendo S.L.

More information about the gstreamer-devel mailing list