[Openal-devel] OpenAL Soft 1.14 released!

Chris Robinson chris.kcat at gmail.com
Wed Mar 28 10:38:26 PDT 2012


OpenAL Soft 1.14 has been released!

http://kcat.strangesoft.net/openal.html

This release brings improved locking behavior, for less contention with the 
mixer and general multi-threaded access. A few new backends have been added as 
well: CoreAudio, SoundIO, MMDevAPI, and OpenSL (Android). CMake options are 
now provided to make it cause a configure error if a backend isn't available 
(e.g., -DREQUIRE_ALSA=ON will cause cmake to fail if ALSA isn't avialable).

The PulseAudio backend should now behave better, reducing the problems with 
latency and playback hitching. It should also better detect the default 
device.

A few useful files have also been added. The first is efx-presets.h which 
defines a number of useful reverb presets for EFX. The new env-vars.txt 
describes the recognized environment variables that control various bits of 
the library's behavior. There is also an hrtf.txt which describes OpenAL 
Soft's HRTF support, and contains information on the file format for providing 
custom HRTFs.

New extensions supported in this release are: ALC_EXT_DEDICATED[1], 
AL_SOFT_buffer_samples[2], AL_SOFT_direct_channels[3], and 
ALC_SOFT_loopback[4].

This release also includes an example for streaming a sound file using ffmpeg 
(needs libavcodec v52.123.0 and libavformat v52.111.0 or newer). This is not 
required for building the lib and will be disabled automatically if the needed 
versions aren't found.

Another note is that the standard enumeration now only reports "OpenAL Soft" 
for playback, much like how Creative's wrapper driver would simply report 
"Generic Hardware" and/or "Generic Software". You'll want to use the 
ALC_ENUMERATE_ALL_EXT extension if you want to get a listing of the specific 
device outputs.


Future versions of OpenAL Soft can expect to get even more improved locking 
behavior, as well the ability to defer parameter updates (much like 
alcSuspendContext and alcProcessContext, but without the legacy baggage on 
those functions). A method for reading back the mix that's playing on a device 
is also in the plans, and perhaps even the long-awaited listener matrix 
extension.


Thanks for looking! Feel free to let me know how it works out, both good and 
bad (still need to get a proper bug-tracker put up).

- Chris


[1] 
http://icculus.org/alextreg/index.php?operation=op_showext&extname=ALC_EXT_DEDICATED
[2] http://kcat.strangesoft.net/openal-extensions/SOFT_buffer_samples.txt
[3] http://kcat.strangesoft.net/openal-extensions/SOFT_direct_channels.txt
[4] http://kcat.strangesoft.net/openal-extensions/SOFT_loopback.txt


More information about the Openal-devel mailing list