Hey all, another confusing problem again.
It must just be my luck to stumble across these. The problem this time is our game runs fine for the first 30 some levels (changes every time) then for no apparent reason ALL the sounds stop playing and no sound is made from the PSP – yet FMOD keeps chugging along as if nothing happened, it still reports the correct number of channels playing (if they were), the sounds still pass all the error checking (which I’m still using the examples error checking, any problems and I reset the PSP) and there seems to be nothing fishy in the debug output of FMOD either.
Any thoughts on what could be causing this behaviour? I’ve also just sent a copy of the debug log off to email@example.com.
- NovaCaine asked 10 years ago
I can now confirm that the sound levels are still at full volume (1.0 according to FMOD) and I am running the latest stable release ( v4.04.18 )
I’ve run out of ideas on what could be causing this. Like I said above, everything is reposrting finem but there is no sound being outputted by the PSP. Just a bit more information about how we are loading in our levels.
Every sound effect and BGM are loaded everytime the level is loaded, so if the level is re-loaded, so are the sounds (for that level).
I think the most confusing part of the whole problem is that no sound will be played at all until the devkit is reset, yet FMOD will continue as if nothing is wrong – playing and loading sounds, not reporting any errors.
can you set something up in your game, to see if the cursor positions of the channels are moving as they should be?
Also check if the sounds are real or virtual.
So in your game, have a button or something, when it goes quiet, display
for every channel, or the first 20 or whatever is needed to fit on screen.
That would give some clues i think.
YAY!!! Something tangible!
The sounds are going into the virtual channels, not sure why as FMOD is reporting only 2 or so channels being used at that time…
I am still using FMOD_CHANNEL_FREE when I play my sounds, could this affect anything? I’m lost on why the sounds are being pushed to the virtual channels when there are clearly channels free to play on.
UPDATE: I decided to strip the virtual channels from FMOD by indicating we wanted 32 HW channels and 32 Max channels, but they are still being pushed to the virtual channels – this time there was only one channel in use!?
What causes the channels to be pushed to the virtual channels? Should I be doing something I’m not with the channel pointers? Currently I set the to 0 before I load a sound (the sound pointer and channel pointer are together in a struct) and I do nothing when the sound is destroyed (channel-wise, I release the sound pointer when I destroy it).
channels go virtual when it thinks all hardware voices are in use. I’m pretty sure if you set both hw and virtual to the same though, it would start channel stealing instead of going virtual.
What happens in that case where it goes bad, if you call Channel::stop() on all channels? (do the new ones start normally).
Apart from that i’ll have to maybe give you a version via firstname.lastname@example.org to see what the hardware is doing at the time.
Luckly I add all channels to channelgroup, which made the job a bit easier. Unfortunatly that didn’t help the problem at all, they still go into virtual channels after a while.
Just a thought, could it be the channel groups are holding onto the channels and marking them as in use? should I be removing them from the channel group after the are finished with?
Please login first to submit.