Discussion:
OpenAL Soft 1.14 released!
Chris Robinson
2012-03-28 17:38:26 UTC
Permalink
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
Loading...