Hey there, my company has an in house game engine. We've been using Wwise for audio for a while now. Recently, I started integrating Vivox to support voice chat.
I'm feeding the Vivox audio data into Wwise via the Audio Input plugin. We have two audio events which trigger at the beginning and end of a received audio unit from Vivox. The audio data itself is buffered and handed off to Wwise via the Audio Input callbacks, AkAudioInputPluginExecuteCallbackFunc and AkAudioInputPluginGetFormatCallbackFunc (set via SetAudioInputCallbacks).
For the most part, this has been working just fine. However, we ocassionally get the following assetion failure. I can click ignore on the popup to move past it (though it usually trips about 4-5 times before going away). There don't seem to be any ill effects afterwards.
This assertion is tripped on the AK::EventManager Thread, and has the following callstack
> KernelBase.dll!wil::details::DebugBreak(void) Unknown
Client.exe!AkAssertHookFunc(const char * in_pszExpression, const char * in_pszFileName, int in_lineNumber) Line 139 C++
Client.exe!CAkMusicActionSequencer::PopImminentAction(long in_iNow, long in_iFrameDuration, AkMusicAction * & out_pAction) Line 71 C++
Client.exe!CAkSubTrackCtx::ExecuteSequencerCmds(long in_iTime, unsigned long in_uNumSamples, float in_fPlaybackSpeed) Line 358 C++
Client.exe!CAkSubTrackCtx::Process(long in_iTime, unsigned long in_uNumSamples, float in_fPlaybackSpeed) Line 202 C++
Client.exe!CAkSegmentCtx::Process(long in_iTime, unsigned long in_uNumSamples, float in_fPlaybackSpeed) Line 173 C++
Client.exe!CAkScheduledItem::Process(__int64 in_iCurrentTime, unsigned long in_uNumSamples, float in_fPlaybackSpeed, bool in_bSkipPlay) Line 114 C++
Client.exe!CAkChainCtx::Process(__int64 in_iCurrentTime, unsigned long in_uNumSamples, AkCutoffInfo & in_cutoffInfo) Line 147 C++
Client.exe!CAkMusicSwitchTransition::Process(__int64 in_iCurrentTime, unsigned long in_uNumSamples, AkCutoffInfo & in_cutoffInfo) Line 305 C++
Client.exe!CAkMusicSwitchCtx::Process(__int64 in_iCurrentTime, unsigned long in_uNumSamples, AkCutoffInfo & in_cutoffInfo) Line 642 C++
Client.exe!CAkMatrixSequencer::Execute(unsigned long in_uNumFrames) Line 594 C++
Client.exe!CAkMusicRenderer::ProcessNextFrame(AK::IAkGlobalPluginContext * __formal, AkGlobalCallbackLocation __formal, void * __formal) Line 661 C++
Client.exe!_CallGlobalExtensions(AkGlobalCallbackLocation in_eLocation) Line 199 C++
Client.exe!CAkAudioMgr::Perform() Line 565 C++
Client.exe!CAkAudioThread::EventMgrThreadFunc(void * lpParameter) Line 69 C++
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown