[openal] New JACK backend
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