restarting a branch of the pipeline...?

Eric Trousset etrousset at awox.com
Wed Apr 23 06:41:53 PDT 2014


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


More information about the gstreamer-devel mailing list