[gst-devel] JACK and GStreamer, from the horse's mouth

Paul Davis paul at linuxaudiosystems.com
Thu Nov 30 21:07:33 CET 2006

On Thu, 2006-11-30 at 15:46 -0300, Edgard Lima wrote:
> pull or push...it will end-up at the same thing....
> if all elements are working in push mode and you have jackaudiosink, 
> like this:
> src -> dec1 -> filter1 -> filter2 -> ... filterN -> queue -> jackaudiosink
> it is desirable to have a queue before the audiosink (possible with a 
> min-threshold) to avoid decode samples arrive too late. At some time the 
> queue will be full and it wil works like pull.
> Even if all the pipeline is working in pull mode, it would be also 
> desirable to have a queue so that the audiosink has data already ready 
> when need it.

this is the typical misunderstanding of what the pull model is all
about. with pull, you attempt to avoid ever generating/processing data
until told to do so. for sources that can't respond in real time, you
have to add buffering (obviously), but the general model is that the
sink drives all activity in the graph. there is no notion of "having
data ready when needed" - you generate/supply/process all data when the
sink tells you its time to do so. 

More information about the gstreamer-devel mailing list