[gst-devel] Re: gstreamer-jack

Andy Wingo wingo at pobox.com
Thu Feb 5 05:22:09 CET 2004


Hi j,

On Sat, 2004-01-24 at 23:29, j at reboot.fm wrote:
> could you point me to some docs or examples on how to use jackd
> with gstreamer? i could not figure that out by myself and could 
> not find it in the docs. thanks,j

Unfortunately there's not so much. I haven't used it in a while, and
Jack keeps changing. So I don't know if it will work.

I will tell you the design, though. GStreamer can act as a client to a
Jack network. Jack clients can have a set of ports. The client is told
to execute at certain times, at which point it is expected to read the
data waiting for it at the input ports and write to the output ports.

The client is implemented in GStreamer with the "jackbin" element
factory. The ports are implemented with "jacksrc" and "jacksink". When
Jack tells the GStreamer client to process, the jackbin will put the
proper data in the jacksrc elements, iterate the pipeline, and then
update the output from whatever was received on the jacksinks. So the
pipeline looks like this (dunno the syntax these days):

jackbin.( jacksrc ! foo ! jacksink )

This is a close-to-the-metal implementation of a jack client. It would
be possible to implement a source or sink that didn't need to be in a
jackbin, but it wouldn't be as efficient. Using libjackasyn would be a
possibility here.

Regards,
-- 
Andy Wingo <wingo at pobox.com>




More information about the gstreamer-devel mailing list