[Openal] OpenAL Soft doesn't work on old computers?
Jason Daly
jdaly at ist.ucf.edu
Thu Oct 16 07:46:04 PDT 2008
bencelot wrote:
> Hey all, OpenAL Soft isn't working on my old pentium 3 computer. It works
> fine on my current XP and Vista computers.
>
> I tested my game on a really old and crappy computer.. that I made
> even worse by rolling back the drivers, so it only has OpenGL 1.1.
> Now.. all of a sudden OpenAL soft won't even work:
>
> int main() {
> ALCdevice* al_device = alcOpenDevice(NULL);
> ALCcontext* al_context = alcCreateContext(sounds.al_device, NULL);
> alcMakeContextCurrent(sounds.al_context);
>
> int error = alGetError();
> if (error != AL_NO_ERROR)
> {
> cout << "INIT ERROR: " << error << endl;
> }
>
>
>
> This is the very first piece of code, and it displays in the console:
> INIT ERROR: 40964
>
Hi, Ben,
It might help find the problem if you check for errors after every AL
call. As it is, it's impossible to tell which call is failing. Also,
ALC calls should be checked with alcGetError(). Since this requires a
valid context, error checking for the first two calls is a bit different.
The following initialization example is cut and pasted straight from the
1.1 spec:
// Initialize Open AL
device = alcOpenDevice(NULL); // open default device
if (device != NULL) {
context=alcCreateContext(device,NULL); // create context
if (context != NULL) {
alcMakeContextCurrent(context); // set active context
}
}
After the call to alcMakeContextCurrent, you can check for errors using
this call:
alcGetError(context);
The spec lists the possible failure conditions for each of these calls.
This should narrow down where exactly the problem is happening, at
least. If you're still stuck after that, let us know.
BTW, if you need a copy of the spec, it's here:
http://tinyurl.com/46hop9
--"J"
More information about the Openal
mailing list