When I’m running FMOD Wii using host file access, if something happens where the host becomes busy, causing the application to stall, I lose whichever channels were active at the time.
The Channel::getPosition() method keeps returning the same value when that happens, so I was using that to detect a stalled channel and force it to stop(). The problem is, if I use that channel again, the position is stuck at 0, so the sounds won’t play, and the channels are effectively lost until I reset the console.
I tried stopping all the voices, unloading all the data, then unloading and restarting FMOD. This works unless the above happened, in which case I get a fatal error in FMOD’s memory system instead while I’m trying to unload.
Anyone else seeing this issue? Could it happen on a production system if the game loop stalls? More importantly, is there a way to recover from this?
- EConty asked 10 years ago
hm that sounds like a wacky wii dsp chip timing issue, do you know if that is reproducible? I’d like to see what is actually happening at the time so we could do someting about it. I don’t suppose on the off chance you know if it happens on gamecube? (some people do wii/gamecube simultaneously )..
It was indeed a wacky DSP timing issue… I’m used to getting it all the time on the Gamecube, using my own libraries, but it always recovered.
For what it’s worth, after trying versions 33 and 35, the problem with the voices getting into an unrecoverable state went away.
- EConty answered 10 years ago
Please login first to submit.