[openal] Preparing for OpenAL Soft 1.20

Chris Robinson chris.kcat at gmail.com
Sun Oct 20 21:37:40 EDT 2019


Hello,

It's been a while, but I think the library is now in a state for a new 
release. The biggest change of this release is that the code base is now 
written in C++11, although with any luck, this should somewhat 
ironically not cause any outwardly noticeable difference. Currently 
supported compilers for this version are GCC 5.4, Clang 3.8, and MSVC 
2015 or newer. Older versions may work, but I can't verify that, nor 
guarantee they will continue to work with further updates.

More noticeable changes that would be worth testing out includes OpenSL 
capture (including float samples, given a new enough NDK and Android 
device). Also, SOFA files are now supported with the makemhr utility (to 
create OpenAL Soft's HRTF data sets), if you have any. The newly added 
sofa-info utility can report various properties of the SOFA file, as 
well as the layout that would be used by the resulting mhr file.

Additionally, the alcResetDeviceSOFT function (from the ALC_SOFT_HRTF 
and ALC_SOFT_output_limiter extensions) can now attempt to recover a 
device that became disconnected (as reported by the ALC_EXT_DISCONNECT 
extension; sources that were forced to stop on disconnect will remain 
stopped, though). So if a USB device gets unplugged, or an HDMI video 
mode change causes the audio output to drop, you can hold on to the 
ALCdevice for a little bit and try to reset it to see if it comes back 
if you prefer, keeping your contexts, buffers, sources, etc.

One other change that would be worth testing out is the click/pop 
suppression for sources that stop or get paused. My own testing and 
others' initial feedback has been positive, so if you've had your own 
mitigation in place instead, or if it's just been something that's 
bothered you, you can check to see if this helps.


More information about the openal mailing list