OpenAL Soft 1.14 released!
Chris Robinson <[email protected]> Wed, 28 Mar 2012 10:38:26 -0700
| Newsgroups | gmane.comp.lib.openal.devel,gmane.comp.lib.openal |
|---|---|
| Message-ID | <5128139.SXA8HjsuSN@kittycat> |
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