chronozphere
08-01-2008, 07:38 PM
Hey all
I've got a VERY nasty openAL problem here.
I want to get OGG working with OpenAL, which should be considerably easy, but it seems that in gamedev 9 of 10 things aren't as easy as the seem. :cry:
I used almost 100% of the "Ogg player" code, located here:
http://www.noeska.com/doal/tutorials.aspx
This code uses the old OpenAL headers which do not dynamicly load the OpenAL DLL. I used the new header, but it doesn't seem to work.
When alSourceUnQueueBuffers is called in the TOggStream.Update routine, an AV at adress $00000000 with read $00000000 is raised. Normaly this means that something is not initialized.
I have checked the Proc-var which contains the alSourceUnQueueBuffers routine, but AFAIK everyting is allright :? (Edit: I didn't check it correctly... the Procvar was NIL :oops: )
I really don't have a cleu what causes this, and the most annoying thing is, that there isn't much to debug :x
Can someone PLEASE take a look at this?
Thanx
P.S: You can just download the code, and the new "OpenAL.pas" header. When you're done, you should remove al, altypes and alut from your uses-clause, and add OpenAL instead. After that, you only have to add a call to "InitOpenAL" in the Form.Create, before ANY other openAl routine is called. :)
P.P.S: I also tested this on my XP laptop, so it's definitly not a driver bug, which means WE SHOULD BE ABLE to solve it, i guess :)
I've got a VERY nasty openAL problem here.
I want to get OGG working with OpenAL, which should be considerably easy, but it seems that in gamedev 9 of 10 things aren't as easy as the seem. :cry:
I used almost 100% of the "Ogg player" code, located here:
http://www.noeska.com/doal/tutorials.aspx
This code uses the old OpenAL headers which do not dynamicly load the OpenAL DLL. I used the new header, but it doesn't seem to work.
When alSourceUnQueueBuffers is called in the TOggStream.Update routine, an AV at adress $00000000 with read $00000000 is raised. Normaly this means that something is not initialized.
I have checked the Proc-var which contains the alSourceUnQueueBuffers routine, but AFAIK everyting is allright :? (Edit: I didn't check it correctly... the Procvar was NIL :oops: )
I really don't have a cleu what causes this, and the most annoying thing is, that there isn't much to debug :x
Can someone PLEASE take a look at this?
Thanx
P.S: You can just download the code, and the new "OpenAL.pas" header. When you're done, you should remove al, altypes and alut from your uses-clause, and add OpenAL instead. After that, you only have to add a call to "InitOpenAL" in the Form.Create, before ANY other openAl routine is called. :)
P.P.S: I also tested this on my XP laptop, so it's definitly not a driver bug, which means WE SHOULD BE ABLE to solve it, i guess :)