[Openal-devel] OpenAL-Soft - Enumerate all devices returns none
- how to fix?
MarvinG
hot_and_high at hotmail.com
Wed Apr 16 14:52:24 PDT 2008
Hi Chris,
The OpenAL-soft build I made from your 253 build seems fine because it works
on my 2 development machines. I can run the demos and my OpenAL application
quite fine, and indeed it works nicely, allowing multiple sound card devices
to be used from the one application instance (which is what I found I needed
your version for as the original OpenAL appears to garble the sound).
The problem is, that the openAL-soft DLL does not appear to work correctly
with host applications (such as the SDK demos) when run on a further 3
machines all with different sound cards (one a RealTek, another a C-Wave
device (from memory) and the 3rd I can't remember). I am trying to work out
why the 2 dev run it well, while these other ones don't. All have the basic
requirements of DirectX 9 and OpenAL runtimes installed.
Looking at the source code for the EnumerateWin32.exe SDK example, I have a
suspicion that the "LoadOAL10Library" is failing, since the only output I
get on the screen when I run this example program is:
"All Available OpenAL Devices
Seeya."
In other words, no "Devices available with standard ALC_ENUMERATION_EXT" are
listed and neither are any "Devices available with ALC_ENUMERATE_ALL_EXT",
and these headers also do not appear.
For some reason, it would seem this part of the code is failing in the
LoadOAL10Library of the Enumerate example:
if (!lpOALFnTable)
return AL_FALSE;
if (szOALFullPathName)
g_hOpenALDLL = LoadLibrary(szOALFullPathName);
else
g_hOpenALDLL = LoadLibrary("openal32.dll");
if (!g_hOpenALDLL)
return AL_FALSE;
The strange thing is that when the program is run without the openAL-soft
version of the openal32.dll in the same folder (ie. the normal OpenAL
installation pre-compiled libraries are used) then the output works and is
correct.
But I need to use your implementation to get the features I need :-)
Is there any chance you can compile a version for Windows for me, to try out
and see if I get any different results? Or can I maybe send you the DLL
I've built and see if you can spot any issue?
I've used a DLL analyser to check that the DLL is exporting all the openAL
functions, which it is.
Thanks for your help!
Mervin
Chris Robinson-5 wrote:
>
> On Wednesday 16 April 2008 12:36:24 pm MarvinG wrote:
>> Using the EnumerateWin32.exe OpenAL SDK example on a WinXP machine with a
>> "Realtek HD Audio output" soundcard. DirectX 9.0 installed. OpenAL
>> runtime installed.
>>
>> When running without the openAL-soft DLL in the same directory,
>> EnumerateWin32.exe runs and correctly shows all the available devices.
>>
>> But with the openal32.dll of OpenAL-soft (build 253) in the exe
>> directory,
>> no devices are enumerated.
>>
>> I built the OpenAL-soft DLL in VC+ 2008 Express, and it compiles to a
>> size
>> of 82KB. Does this sound right?
>
> I can't say about the size (although it does seem a bit small), but if no
> devices are showing up, then it doesn't sound like it built correctly. At
> the
> very least, it should have a Wave Writer (even though it'll fail to open).
> If
> the wave writer is there, but no DirectSound devices, then it seems as
> though
> DirectSound wasn't detected (either dsound.h and/or dsound.lib).
>
> What did cmake say about DSound when you ran it (the test for (the test
> for
> dsound.h, the dsound lib, and enabled backends)?
> _______________________________________________
> Openal-devel mailing list
> Openal-devel at opensource.creative.com
> http://opensource.creative.com/mailman/listinfo/openal-devel
>
>
--
View this message in context: http://www.nabble.com/OpenAL-Soft---Enumerate-all-devices-returns-none---how-to-fix--tp16722783p16734410.html
Sent from the OpenAL - Dev mailing list archive at Nabble.com.
More information about the Openal-devel
mailing list