[openal] New JACK backend

Chris Robinson chris.kcat at gmail.com
Thu Dec 25 14:56:19 EST 2014


On 12/22/2014 10:33 PM, Chris Robinson wrote:
> Secondly, the backend currently only supports stereo output.

Just an update to mention that quad, 5.1, 6.1, and 7.1 output now works 
too. I ended up copying JACK's lockless ringbuffer code (which is LGPL, 
just like OpenAL Soft), and extended it to work with a specified element 
size instead of bytes. This allows for non-power-of-two frame sizes with 
a power-of-two ringbuffer size (as the size is now measured in the 
number of elements). I also cleaned up some of the math a tiny bit.

You still need to explicitly configure OpenAL Soft to use non-stereo 
modes for JACK. I could try guessing a mode from the number of physical 
ports that can be opened, but that has a chance of guessing wrong, so I 
don't know if it's worth it.


Also, I'm thinking about moving the JACK backend priority to the top, 
but making it default to not auto-spawn a server. That way if JACK is 
running, it will automatically be used, but if it isn't, it will 
automatically fall back to PulseAudio, ALSA, etc. So if a user wants to 
use JACK, they need to either make sure it's started first, or 
explicitly configure OpenAL Soft to spawn a JACK server as needed.


Happy Holidays, all!


More information about the openal mailing list