[Openal] Defective ALC_ENUMERATION_EXT support on Mac OS X / Need OpenAL community's support
Chris Robinson
chris.kcat at gmail.com
Wed Jan 7 21:39:33 PST 2009
On Wednesday 07 January 2009 02:24:56 Ryan C. Gordon wrote:
> I amended the spec to say the string survives until the next query,
> which implies "you should use a mutex, if you really need to get the
> device list in two threads at once for some reason".
>
> I also warn that device enumeration may no longer be a "fast call,"
> since device (re)detection may now be happening on each query.
Actually, I'm not so sure about this anymore. Typically, new functionality has
always been opt-in, instead of just there with the presence of the extension.
This is to prevent behavior from changing on apps that were made before (or
without knowledge of) the extension.. such as an app expecting the device
enumeration string to remain constant across calls suddenly stops getting a
constant string due to the presence of the extension which it didn't/couldn't
account for.
In this case, I think a new call will be needed to tell the implementation
it's safe to re-probe the devices and change the string. Or maybe a new token
for alcGetString which allows for the devices to be re-probed before returning
the list (though that could get lengthy as you'd need at least two, one for
playback and one for capture; and maybe two more if dealing with the
enumerate_all extension).
More information about the Openal
mailing list