[gst-devel] Re: [gst-cvs] thomasvs gstreamer: gstreamer/docs/random/ds/

Thomas Vander Stichele thomas at apestaart.org
Wed Jul 14 09:58:09 CEST 2004


Hi,


> On Wed, 14 Jul 2004, Thomas Vander Stichele wrote:
> > > Can you understand why gstplay would need to virtualize get_list() and
> > > why it would need to differ in GstBin'ness behaviour? It's really all
> > > unclear to me.
> >
> > The preroll case is a good example.
> 
> And how does preroll require this? Afaik, preroll is:
> 
> before preroll:
> 
> source1 ! decoder ! adder ! sink
> 
> during preroll:
> 
> source1 ! decoder ! .active_pad
>                                  adder ! sink
> source2 ! decoder ! .preroll_pad

No, that's a use case of preroll.

preroll by itself, is some way of having a bunch of data queued up to be
played in a pipe.  The goal of preroll is to make paused-playing
instantaneous, by making sure that in the paused state the type has
already been found, the pipeline has been plugged, and ideally even part
of the data has already been decoded and queued up for output.  Since
GStreamer currently forbids any data flow in PAUSED, the only current
way to implement this is to have a private bin that goes to PLAYING to
do type detection and plugging and queueing, when the element
implementing preroll is asked to gone to PAUSED.

I think ideally preroll should just be a part of GStreamer just like it
is in DirectShow (personally I feel that for every thing that we do
different from directshow we would need a good reason to do it
differently), but until that happens, the only way we see of doing
preroll is what I just said.

> (I'd rather use a private preroll-specific element, but afaik you guys
> wanted to use adder for this and IIRC adder can actually do this, so it
> doesn't really matter. The point is that adder caches N samples of data,
> which is the actual preroll.)

adder is for mixing, unrelated to preroll by itself.  Though preroll is
obviously great to have in apps that will do mixing using adder.

Thomas

Dave/Dina : future TV today ! - http://www.davedina.org/
<-*- thomas (dot) apestaart (dot) org -*->
I've got ladyfingers baby
I've got kidgloves
baby I got heart
<-*- thomas (at) apestaart (dot) org -*->
URGent, best radio on the net - 24/7 ! - http://urgent.fm/






More information about the gstreamer-devel mailing list