[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