[gst-devel] starting and stopping part of a pipeline

Stefan Kost ensonic at hora-obscura.de
Mon Mar 20 05:26:04 CET 2006


Am Montag, den 20.03.2006, 14:04 +0100 schrieb Tomas Groth:
> hi,
> 
> > Hi Jeroen,
> > 
> > On Sat, 2006-03-18 at 17:45 +0100, Jeroen Vreeken wrote:
> > > I have been working for a while on an application for receiving and 
> > > decoding amateur satellite data using gstreamer
> > 
> > Neat!
> > 
> > > osssrc --> tee --> codec --> tcp
> > >                       \\--> mux --> filesink (raw data)
> > >                        \--> decoding --> filesink (decoded data)
> > > 
> > > Basicly what I want is to have the top line running at all times and be 
> > > able to stop the second and third line in order to set new filenames 
> > > (and save cpu while no satellite passes).
> > 
> 
> I have a similar problem too the one mentioned, but a bit different:
> 
> src->decodebin->audioconvert->audioresample-\
> src->decodebin->audioconvert->audioresample-*->adder->osssink
> src->decodebin->audioconvert->audioresample-/
> 
> the "-*->" arrow symbolizes that there lines are all linked to the adder. The
> problem is that i want to add more audiosources dynamicly, after the playing
> has started.
I have a similia scenario in buzztard. What I do now is to have an
"audiotestsrc wave=silence" which I use instead of one
"src->decodebin->audioconvert->audioresample" chain. I block the pad,
switch the sources and unblock the pad. The problem is that I still need
to make audiotestsrc sending out the next buffer correctly timestamped
(as a continuation to the last buffer of the old chain) and vice versa.

I had problems with running a pipeline where pads are keept blocked. I
am still not sure if that is meant to work.
>  
> 
> > In any case what I think you want is to keep everything in the pipeline,
> > and just relink the tee connections to the muxer and decoder (why not a
> > direct raw sink?). You want to do a gst_pad_set_blocked while doing the
> > link, and I think you'll have to push out a newsegment event on the
> > sinks as well -- not sure. But yes, it is possible.
> > 
> 
> Does this mean i should block the adder src-pad, or should i block all the
> audioresample-sink-pads?
> 
> cheers,
> 
> Tomas
> 

Stefan





More information about the gstreamer-devel mailing list