[openal] Recent alcSuspend/ProcessContext changes
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