restarting a branch of the pipeline...?

Eric Trousset etrousset at awox.com
Tue Apr 29 08:54:44 PDT 2014


GST_STATES:GstBin:bin_handle_async_done(3112): committing state from PAUSED to PAUSED, old pending PLAYING
GST_STATES:GstBin:bin_handle_async_done(3132): completed state change, pending VOID
GST_STATES:GstBin:_priv_gst_element_state_changed(2233): notifying about state-changed PAUSED to PAUSED (VOID_PENDING pending)
GST_STATES:GstBin:bin_handle_async_done(3112): committing state from PAUSED to PAUSED, old pending PLAYING
GST_STATES:GstBin:bin_handle_async_done(3132): completed state change, pending VOID
GST_STATES:GstBin:_priv_gst_element_state_changed(2233): notifying about state-changed PAUSED to PAUSED (VOID_PENDING pending)

I found the following in the logs. It looks like the pending state goes from PLAYING to VOID, is this a normal behavior?

> 
> It looks like some of the elements of the pipeline won't go back to playing
> state.
> Any idea on what can make some element not to go back to playing state?
> 
> > -----Original Message-----
> > From: gstreamer-devel [mailto:gstreamer-devel-
> > bounces at lists.freedesktop.org] On Behalf Of Eric Trousset
> > Sent: mercredi 23 avril 2014 15:42
> > To: Discussion of the development of and with GStreamer
> > Subject: RE: restarting a branch of the pipeline...?
> >
> > Been working on my problem, now using 1.2.4, I don't have the asserts
> > on audio GAP, but still, after I switch a few times from full file to
> > video only and to full again, the data flow just stops, and it looks
> > like every element is on a waiting cond.
> >
> > Also I don't really know how to debug this, nor how to find the root
> > cause of this.
> >
> > Any idea?
> >
> > Eric T.
> >
> > > -----Original Message-----
> > > From: gstreamer-devel [mailto:gstreamer-devel-
> > > bounces at lists.freedesktop.org] On Behalf Of Eric Trousset
> > > Sent: mercredi 23 avril 2014 10:40
> > > To: Discussion of the development of and with GStreamer
> > > Subject: RE: restarting a branch of the pipeline...?
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: gstreamer-devel [mailto:gstreamer-devel-
> > > > bounces at lists.freedesktop.org] On Behalf Of Sebastian Dröge
> > > > Sent: mercredi 23 avril 2014 09:42
> > > > To: Discussion of the development of and with GStreamer
> > > > Subject: Re: restarting a branch of the pipeline...?
> > > >
> > > > On Di, 2014-04-22 at 15:09 +0200, Eric Trousset wrote:
> > > > > Hi
> > > > > In the case I stop a part of my pipeline by sending an EOS event
> > > > > and the
> > > > unlinking this branch, is there a proper way to restart it?
> > > > >
> > > > > I tried relinking it, but then the pads are is EOS state, and
> > > > > even an stream
> > > > start event won't wake it up.
> > > > >
> > > > > So what would be the best way to disable a branch of the
> > > > > pipeline and then
> > > > to re-enable it?
> > > >
> > > > After receiving an EOS, the pads can only accept data again after
> > > > flushing or deactivating (i.e. setting the element to READY).
> > >
> > > Hi, that's what I figured out (about the flush stop event) after
> > > realizing that this part of the pipeline was playing again after seeking.
> > > So I send the flush stop event after relinking the pads and then I
> > > can see the segment event goes down to the audio sink, but I still
> > > need to seek again for the audio to come back.
> > >
> > >
> > >
> > > >
> > > > What exactly is the bigger picture of the problem you're trying to solve?
> > >
> > > We have a media in which the audio part can be removed by the server.
> > > So when this occurs I unlink the audio part of the pipeline and then
> > > reconnect it when the audio is back again. We are aware of audio
> > > presence or not via the http header.
> > >
> > > At first, I wasn't unlinking anything, hoping that lets the GAP
> > > event handle the absence au audio in some part of the file. This was
> > > almost ok. (the audio is removed or re-enable after a seek event).
> > > But after a few time, some element of the pipeline wouldn't come
> > > back to playing
> > state.
> > >
> > > > There are multiple ways of stopping a pipeline part, depending on
> > > > what kind of behaviour you want.
> > > >
> > > > --
> > > > Sebastian Dröge, Centricular Ltd - http://www.centricular.com
> > > > Expertise, Straight from the Source
> > > _______________________________________________
> > > gstreamer-devel mailing list
> > > gstreamer-devel at lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list