Android crash & instability with ChannelGroups on FMOD 2.03.07

Hello, I am using FMOD 2.03.07 with my C++ code.

I am creating my sounds like so:

result = system->createStream((basePath + fName).c_str(), fModParms | FMOD_CREATESTREAM, NULL, &pObject->m_pSound);

I am creating my channel group like so:
FMOD_ERR_CHECK(m_pSystem->createChannelGroup(“MIC”, &m_pChannelGroup)); // Microphone

I am calling playSound like so:

result = system->playSound(pObject->m_pSound, pVoiceMgr ? pVoiceMgr->GetEchoRefChannelGroup() : nullptr, false, &m_pMusicChannel);

And it results in spammed calls with assertion failures as you can see in the picture… + Lots of audio not getting played back.

And it ends with an eventual crash as well…

What’s going on? I am not even using multiple threads here. This must be an FMOD issue, right??

Also, this issue does NOT happen on Windows - release or debug, whatsoever. Just on Android!!

NOTE: If GetEchoRefChannelGroup() is null, no issues happen, issues only happen once a channelgroup is actually passed!

FMOD version: 00020307

1 Like

Hi,

Thanks for the information.

What is pVoiceMgr ? pVoiceMgr->GetEchoRefChannelGroup() that we are passing to the `playSound() (FMOD Engine | Core API Reference - System::playSound()) func? This is an alternative output CG if we don’t want the sound routing directly to the master CG.

Would it be possible to see the full script? What is the result of the playSound() when GetEchoRefChannelGroup() is not null?