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

Kai Vehmanen kvehmanen at eca.cx
Wed Nov 29 23:27:01 CET 2006

Hello Andy, Paul and others,

lot of familiar faces here it seems. :)

First, to add to the use-cases list, aside so called pro-audio, latency 
sensitive, real-time media applications (= read VoIP, but there are others 
as well) would greatly benefit from pull-mode operation.

Now gstreamer does have the core mechanisms in place for it, but it's just 
lacking developer attention and mainstream, and/or critical mass of, 
users. A big problem is that the very nice set of processing elements and 
codecs (which is one of the great benefits of gstreamer) would have to get 
support for pull mode. But definitely I don't want to point any fingers 
(well, other than myself) -- just observing the current status.

To list some of the issues we've been having (from the farsight project)
   - http://projects.collabora.co.uk/trac/farsight/report/1

But on to Andy's message...

On Mon, 27 Nov 2006, Andy Wingo wrote:

> formats, which are more difficult to handle in a pull model. But I think
> whenever somebody gets off their ass, we will have two kinds of jack
> integration: jack elements that drive the pipeline from the jack thread,
> and jack elements that are separated from the main pipeline via a ring
> buffer. The former allows low-latency audio work, the latter allows
> integration with all of the formats that only support push mode.

Yes, this sounds like the right approach to me. The latter is important as 
it allows current gstreamer-based apps to benefit from JACK support, 
without ugprade cycle to the whole existing base of gstreamer elements.

I guess it's fair to say that majority of the gstreamer apps have fallen 
into the category of non-latency-sensitive (streaming, playback, audio 
clip sequencing, dtc), but it's also clear that the situation is slowly 
changing. For instance, with help of projects such as Farsight, there's 
now growing number of projects using gstreamer for VoIP...

And I could imagine, that when/if JACK gets video support, it would become 
doubly interesting to route the media streams via gstreamer apps.

  links, my public keys, etc at http://eca.cx/kv

More information about the gstreamer-devel mailing list