[openal] Extensions and recommended way of installing OpenAL Soft
Chris Robinson
chris.kcat at gmail.com
Wed Sep 2 15:19:22 EDT 2015
On 08/31/2015 10:18 AM, Cyril Drouet wrote:
> I'm trying to use the "AL_SOFT_buffer_samples" extension so that I
> can load surround data into buffers.
Hi.
FWIW, you don't necessarily need AL_SOFT_buffer_samples to load surround
sound data. That extension is mainly just an attempt to clean up the
buffer loading API to be clearer and more flexible, namely by separating
the sample type from the channel configuration, and supplying more
user-facing sample types. But as long as you only need to worry about
unsigned 8-bit, signed 16-bit, and/or 32-bit float sample types with the
surround configurations, then you only need the AL_EXT_FLOAT32 and
AL_EXT_MCFORMATS extensions.
> 1. If I rename "soft_oal.dll" into "openAL32.dll", then everything is
> good: alIsExtensionPresent returns true
> 2. If I install OpenAL from Creative and install soft_oal.dll the
> recommended way (I don't rename the dll, and just add it to System32
> on Windows), then alIsExtensionPresent never returns true
>
> I would like to use the second method which is the recommended way of
> installing OpenAL Soft, and benefit from the OpenAL soft implementation
> as well, but it doesn't seem to be working. Am I doing something wrong?
For AL_SOFT_buffer_samples to be available, you need to open an OpenAL
Soft device (and unfortunately it doesn't currently append "on OpenAL
Soft" on the device names to differentiate them like it should). When
its used as soft_oal.dll, other non-ALSoft devices can still be
enumerated too and may be selected by default.
For your particular use-case, since you rely on OpenAL Soft's
AL_SOFT_buffer_samples extension anyway, you could leave it named
OpenAL32.dll and have it put next to the app's executable (or wherever
the other local DLLs are put). It won't affect any system-installed
OpenAL, but your app(s) will only see OpenAL Soft.
More information about the openal
mailing list