OpenAL error: Invalid Operation (40964)

Started by the2bears, January 27, 2007, 19:01:09

Previous topic - Next topic

the2bears

A tester gets the following error when trying out my game on this system:

AMD Athlon 64 3800+
NVidia 6600GT 128MB x2 SLI
1024MB Ram
Win XP SP 2


Note that I haven't the foggiest about what's going on here with OpenAL, I'm using Cas' SoundPlayer which seems to get created properly.  If anyone has any clues as to what direction to look in, probably just poor OpenAL drivers for this machine, right?  Turn sound off :P

Update: so it seems it's related to deleting a buffer still attached to a source?  Hmmm...

Failed: 721856 source: 672360
org.lwjgl.openal.OpenALException: OpenAL error: Invalid Operation (40964)
        at org.lwjgl.openal.Util.checkALError(Util.java:56)
        at org.lwjgl.openal.AL10.alSourcei(AL10.java:755)
        at com.shavenpuppy.jglib.openal.ALSource.set(ALSource.java:167)
        at com.shavenpuppy.jglib.openal.ALSource.attach(ALSource.java:215)
        at com.shavenpuppy.jglib.sound.SoundEffect.update(SoundEffect.java:148)
        at com.shavenpuppy.jglib.sound.SoundEffect.tick(SoundEffect.java:343)
        at com.shavenpuppy.jglib.util.PriorityPool$PoolWrapper.tick(PriorityPool.java:102)
        at com.shavenpuppy.jglib.util.PriorityPool.tick(PriorityPool.java:213)
        at com.shavenpuppy.jglib.sound.SoundPlayer.play(SoundPlayer.java:80)
        at com.the2bears.riders.Riders.main(Riders.java:265)
Exception in thread "main" org.lwjgl.openal.OpenALException: OpenAL error: Inval
id Operation (40964)
        at org.lwjgl.openal.Util.checkALError(Util.java:56)
        at org.lwjgl.openal.AL10.alSourceStop(AL10.java:950)
        at com.shavenpuppy.jglib.openal.ALSource.stop(ALSource.java:104)
        at com.shavenpuppy.jglib.sound.SoundEffect.deactivate(SoundEffect.java:336)
        at com.shavenpuppy.jglib.util.PriorityPool$PoolWrapper.deactivate(PriorityPool.java:78)
        at com.shavenpuppy.jglib.util.PriorityPool$PoolWrapper.reset(PriorityPool.java:112)
        at com.shavenpuppy.jglib.util.PriorityPool.reset(PriorityPool.java:221)
        at com.shavenpuppy.jglib.sound.SoundPlayer.doDestroy(SoundPlayer.java:103)
        at com.shavenpuppy.jglib.Resources.deallocate(Resources.java:380)
        at com.shavenpuppy.jglib.Resource.destroy(Resource.java:199)
        at com.the2bears.riders.Riders.cleanup(Riders.java:1246)
        at com.the2bears.riders.Riders.main(Riders.java:276)
the2bears - the indie shmup blog

mot

I had this problem too, mostly on Macs. Eventually I got bored with trying to debug this on other peoples' computers and just put a try/catch block around the calls that caused it. Problem fixed. :) I was probably the only real "hack" I used in the entire game. Next time I'm going to use FMOD.

the2bears

Quote from: mot on February 05, 2007, 15:52:07
I had this problem too, mostly on Macs. Eventually I got bored with trying to debug this on other peoples' computers and just put a try/catch block around the calls that caused it. Problem fixed. :) I was probably the only real "hack" I used in the entire game. Next time I'm going to use FMOD.

That's what I ended up doing, catch an exception and sound = false after that.

Regarding FMOD... are there any licensing implications for selling your games then?  It's not the same type of license, if I recall.  "Free for non-commercial use" etc.

Bill
the2bears - the indie shmup blog

mot

Yes, it's $100 for shareware authors. I'm sure there are more details in the FMOD forum..