Hmm... it seems that none of 3d sound apps that used to work work anymore; all crashing when trying to get ds3dl->dsb->dsound->nrofbuffers in clause: for (i = 0; i < ds3dl->dsb->dsound->nrofbuffers; i++)
There were come great changes in dsound lately (especially in buffers i think). Is this the source of problems? Or is it lack of CriticalSection stuff (I don't really understand them, so I didn't bother with them when I was writing it)?
There were come great changes in dsound lately (especially in buffers i think). Is this the source of problems? Or is it lack of CriticalSection stuff (I don't really understand them, so I didn't bother with them when I was writing it)?
Well, in my DSound3D test case (the demo for ArxFatalis), I get a crash due to DSound3DListener COM vtable being overwritten (and thus a nice crash when the application calls one of the functions).
From the data that replaces the pointer, it looks like it's been 'mixed'
over (as the data looks like a sound buffer).
I did not manage really to track it down yet (was never able to break Wine to add the watchpoint at the right address) but either we have a buffer size issue (and thus memory overrun) or a threading issue (for exmple a buffer getting Released while it get mixed and the buffer address is then reallocated to another object ... and when the mixing function continues on the now-freed buffer => crash).
Lionel