[openal] Incorrect Device Names

Tommy Scott tscott at magiqueproductions.com
Fri Sep 2 12:45:10 EDT 2016


Well, I had a project that was using the OpenAL SDK from Creative and with
their Framework code it was returning the full device name. Shouldn't
implementation be based off the behavior in Creative's OpenAL.dll?

Tommy

On Fri, September 2, 2016 3:09 am, Chris Robinson wrote:
> On 09/01/2016 09:00 PM, Tommy Scott wrote:
>
>> I wanted to make one more comment regarding this. Technically, OpenAL
>> Soft is implementing this incorrectly according to the OpenAL
>> Programmer's Guide. In there it states the following:
>>
>>
>> ALC_DEVICE_SPECIFIER will return the name of the specified output
>> device if a pointer is supplied
>>
>> And furthermore:
>>
>>
>> Checking the current device name
>> The developer can check to see the name of the device that was actually
>> opened using the function call alcGetString with a pointer to an open
>> device and the name “ALC_DEVICE_SPECIFIER”.
>>
>> ...
>>
>>
>> And this is exactly how sample code is used provided in the original
>> OpenAL SDK. So this should give the full device name, not just some
>> driver specifier. I think that changing this behavior was not a good
>> thing. Perhaps a different enumeration should be used for just getting
>> the driver specifier.
>
> Even though I agree ALC_DEVICE_SPECIFIER should return the actual device
> name(s) with a separate enumeration for listing drivers, that's not how
> implementations work. Before OpenAL Soft was even thought of, Creative's
> wrapper was already returning the basic "Generic Software" and "Generic
> Hardware" driver names through ALC_DEVICE_SPECIFIER, with the individual
> device names coming from either device-specific drivers or through
> ALC_ALL_DEVICES_SPECIFIER.
>
>
> The ALC_ENUMERATE_ALL_EXT extension
> <https://icculus.org/alextreg/wiki/ALC_ENUMERATE_ALL_EXT> was made
> specifically to be able to enumerate the individual devices instead of the
> driver names. If I changed this for OpenAL Soft, making
> ALC_DEVICE_SPECIFIER return the full name, it would create an
> inconsistency with other implementations.
> _______________________________________________
> openal mailing list openal at openal.org
> http://openal.org/mailman/listinfo/openal



More information about the openal mailing list