[gst-devel] some queue advice

Julien MOUTTE jmoutte at electronic-group.com
Wed Oct 1 09:31:09 CEST 2003


I am pausing the pipeline to connect/disconnect the visualisation to
tee..



On Wed, 2003-10-01 at 15:10, Thomas Vander Stichele wrote:
> Hey Benjamin,
> 
> thanks for the reply.
> 
> 
> > I think the pipeline doesn't need to be paused when you use the opt scheduler. 
> > AFAIK gst-player doesn't pause when adding/removing the visualization part. Ask 
> > Julien to be sure plz.
> 
> Ugh.  What can I say ? In my mind all schedulers should act in exactly
> the same way (theoretically; of course the current set of bugs in all of
> them breaks this :)).  Ie, an app shouldn't depend on the property of
> one scheduler that it somehow manages to change pipelines without having
> to be paused.  If gst-player relies on this, I think that's broken.
> 
> 
> > As for how I'd construct the pipeline:
> > +thread/bin--------+
> > | input1 --        |      
> > |          \       | +thread--------------+
> > | input2 -- adder -+-+- queue --- osssink |
> > |          /       | +--------------------+
> > | input3 --        |
> > +------------------+
> > And then pause the left part when adding to/removing from it.
> 
> In this example, the queue needs to be very small in order to make the
> app respond quickly enough.
> 
> I suppose both the input thread/bin and output thread need to go in a
> pipeline, right ? or can two threads function without either of them
> being inside another pipeline ?
> 
> If a bin is inside a pipeline, can the bin be paused without having to
> pause the whole pipeline ?
> 
> (I'm asking these questions on two levels; whether or not they "should"
> and whether or not they "currently do", since these don't always match
> and I'd like for us to move to a point where we all can trust these two
> to line up properly :))
> 
> Thanks
> Thomas
> 
> 
> > Benjamin
> > 
> > 
> > Quoting Thomas Vander Stichele <thomas at apestaart.org>:
> > 
> > > Hey guys,
> > > 
> > > I need a bit of queueing advice.
> > > 
> > > I'm writing a python-based radio application that needs to be able to
> > > play more than one stream at once to the same sound card.
> > > 
> > > I have abstracted some python classes for this, and I need to fix only
> > > one more problem.
> > > 
> > > Basically, I need to gaplessly add and remove input decoding bins.
> > > 
> > > The pipelines used consist of:
> > > - one or more decoding bins (gnomevfssrc ! vorbisfile ! volume !)
> > > - an adder mixer
> > > - an osssink
> > > 
> > > In the first iteration, all of this went into a thread, and this worked
> > > nicely, except for one problem.  To remove or add input decoding bings
> > > to adder, the pipeline needs to be paused, then the bin gets added and
> > > connected to mixer, then the pipeline is set to play again.  This causes
> > > drops in the audio feed, of course.
> > > 
> > > So I tried to fix this by putting in one more thread with a queue.  I
> > > got various results, ranging from dropping of audio to just plainly
> > > locking my machine tight.
> > > 
> > > So, my question is; if I want gapless addition/removal of input streams,
> > > what should I be wrapping in a thread and how so I get continuous
> > > playback ?
> > > 
> > > >From that answer, I can try and look what goes wrong in that case and
> > > see if I can fix it.
> > > 
> > > Thomas
> > > 
> > > 
> > > Dave/Dina : future TV today ! - http://davedina.apestaart.org/
> > > <-*- thomas (dot) apestaart (dot) org -*->
> > > Faded I'm sure
> > > but love seems to stick in the veins you know
> > > <-*- thomas (at) apestaart (dot) org -*->
> > > URGent, best radio on the net - 24/7 ! - http://urgent.rug.ac.be/
> > > 
> > > 
> > > 
> > > 
> > > -------------------------------------------------------
> > > This sf.net email is sponsored by:ThinkGeek
> > > Welcome to geek heaven.
> > > http://thinkgeek.com/sf
> > > _______________________________________________
> > > gstreamer-devel mailing list
> > > gstreamer-devel at lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> > > 
> > 
> > 
> > 
> > 
> > -------------------------------------------------------
> > This sf.net email is sponsored by:ThinkGeek
> > Welcome to geek heaven.
> > http://thinkgeek.com/sf
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> 
> Dave/Dina : future TV today ! - http://davedina.apestaart.org/
> <-*- thomas (dot) apestaart (dot) org -*->
> resistance is low when I'm feeling bored
> what I thought was fun isn't fun anymore
> <-*- thomas (at) apestaart (dot) org -*->
> URGent, best radio on the net - 24/7 ! - http://urgent.rug.ac.be/
> 
> 
> 
> 
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
-- 
Julien MOUTTE - jmoutte at electronic-group.com
C.T.O.
_________________________________________________________

ELECTRONIC GROUP INTERACTIVE - www.electronic-group.com
World Trade Center, Moll de BARCELONA
Edificio Norte 4 Planta
08039 BARCELONA SPAIN
Tel : +34 93600 23 23 Fax : +34 93600 23 10
_________________________________________________________






More information about the gstreamer-devel mailing list