[openal] Incorrect Device Names
chris.kcat at gmail.com
Thu Sep 1 22:48:53 EDT 2016
On 09/01/2016 08:34 AM, Tommy Scott wrote:
> When I enumerate all the available devices they all come back with a
> strDeviceName equal to "OpenAL Soft" instead of the actual device name.
ALC_DEVICE_SPECIFIER effectively acts as a driver specifier. You'll get
names like "Generic Software", "Generic Hardware", "OpenAL Soft", etc.
You may see specific device names if you have a hardware OpenAL driver
for your audio card, though.
Otherwise, you should use the ALC_ENUMERATE_ALL_EXT extension's
ALC_ALL_DEVICES_SPECIFIER to get the specific output. Then you'll get
names like "OpenAL Soft on Some Device".
> Strangely, if I
> change the call to ||alcGetString(device, ALC_ALL_DEVICES_SPECIFIER)
> then it returns thje correct name for the device, but then when using
> that name to open the device it doesn't allow the device to play sounds.
That's odd, you should be able to open the specific names you get from
that. What name do you get? What happens when you try to open a device
with the name? Does the device open and the context get created, or does
one of them fail, or...?
It may help to get logging output, which you can do by setting the
ALSOFT_LOGLEVEL environment variable to 3, then capturing stderr when
running the app (or also set the ALSOFT_LOGFILE environment variable to
a path with filename, where the log can be written to).
More information about the openal