[openal] Recent alcSuspend/ProcessContext changes

Chris Robinson chris.kcat at gmail.com
Mon Oct 13 10:36:53 EDT 2014

Yesterday I committed some changes for the alcSuspendContext and 
alcProcessContext functions. They're now used to batch updates by 
preventing certain source, listener, and context state changes from 
taking effect in between the two calls. This should at least be similar 
to the behavior found in Creative's hardware drivers and Rapture3D.

Having thought about it, I feel this should be okay for compatibility. 
Considering that the functions have been no-ops in OpenAL Soft, and 
their original behavior with the SI was basically to directly control 
mixing, I don't imagine their new behavior will be any worse for those 
apps than it has been.

That said, I'd like to make extra sure, so consider this a call for 
testing. This is mostly for older apps on non-Windows systems (Linux, 
OSX, Android, etc), although testing newer apps and/or on Windows 
wouldn't hurt either. As a precaution, there's a new environment 
variable, __ALSOFT_SUSPEND_CONTEXT, which when set to "ignore" will 
restore the old no-op behavior, but hopefully that shouldn't be needed.

Also, if anyone can check if there's any differences in behavior 
compared to Creative's hardware drivers and Rapture3D (i.e. certain 
specific changes taking or not taking effect immediately in one and not 
another), please let me know.


More information about the openal mailing list