[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gstreamer-devel
Subject:    Re: [gst-devel] Jack plug-in.
From:       Andy Wingo <wingo () pobox ! com>
Date:       2004-06-29 18:20:55
Message-ID: 1088533254.1485.116.camel () localhost
[Download RAW message or body]

Hey,

I wanted to answer questions about the current state of the jack
elements, hopefully for the last time ;)

Jack is a synchronous architecture. Writing a proper jack app means
putting your app under the control of the jack server. What that means
specifically is that jack should tell your pipeline to "iterate" (in gst
terminology), instead of the app telling the pipeline to iterate.

This is not the traditional way to write audio applications on unix.
Most apps expect to have some sort of blocking read/write architecture.
Gstreamer can be used either way, but most apps assume that the sink
will handle the timekeeping for the pipeline, instead of the pipeline
being handled by an external timekeeper.

The jack elements now implement this kind of synchronous framework. I
haven't used them for a while. I do plan on getting back to them
sometime, but don't wait for me -- hack it up yourself if you want it.

Back to your question. Most people want to magically choose something in
some gconf key and expect to get jack input/output working.
Unfortunately, this is not possible right now, because you'd have to put
the whole app under a jackbin. However, it's not an unreasonable thing
to ask, provided you're willing to cope with possibly higher latencies.
Either write gstreamer elements for libjackasyn, or create an element
like {jackbin queue ! audioconvert ! jacksink}. libjackasyn is probably
better, because it does the deinterleaving/intfloat conversion for you
already.

Conclusion: somebody needs to write that code. It should be really damn
easy: libjackoss.h has an identical API as OSS. I ain't gonna do it,
though!
--
Andy Wingo <wingo@pobox.com>
http://ambient.2y.net/wingo/


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
gstreamer-devel mailing list
gstreamer-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic