[Openal] Defective ALC_ENUMERATION_EXT support on Mac OS X / Need
OpenAL community's support
Chris Robinson
chris.kcat at gmail.com
Tue Dec 30 09:05:24 PST 2008
FWIW, I fully agree with your assessment about the need for proper enumeration
on systems that have multiple input/output devices. It kinda defeats the
purpose of enumeration if all you can do is select the default choice.
Unfortunately though, I'm not a Mac developer, so there's nothing I can
directly do about it (at least until OpenAL Soft properly supports OSX)..
just voice my support for proper enumeration.
There are a couple points I want to respond to in your email, though..
> I also double-null-terminate
> individual/specific device queries since that is what the current
> implementation does even though the 1.1 spec says nothing about this.
The double-null termination is called for by the spec, actually. It's how the
list is terminated.
9.5. ALC_ENUMERATION_EXT on page 62 of the spec:
"Each device name will be separated by a single NULL character and the list
will be terminated with two NULL characters."
So you want to have a single NULL char after each device string, then place an
extra NULL char after the last string. Since a single NULL character is used
as a delimiter, another one must be appended (giving an "empty name") so that
the app knows to stop looking through the string.
> (By the way, this might also suggest a need for another OpenAL
> extension. This suggests there is a distinction between a unique
> identifier and a human-readable localized device description.)
AFAIK, the device desciption is intended to be the identifier. The
implementation is allowed to append things to device names to make sure it is
unique (so long as it accepts the modified string, of course).
More information about the Openal
mailing list