Fixed wind dsp and implemented a DSP that mimics removed FMOD::Channel::getWaveData func.

Fixed crash if fmod profiling was enabled.
Fixed crash due to failing to check if resulting utf string from stream metadata was zero-length before calling std::string::back.
This commit is contained in:
Shyotl
2014-11-25 16:32:04 -06:00
parent c2abbaedc8
commit b3d86e626b
5 changed files with 262 additions and 83 deletions

View File

@@ -321,10 +321,6 @@ bool LLAudioEngine_FMODEX::init(const S32 num_channels, void* userdata)
if(mEnableProfiler)
{
fmod_flags |= FMOD_INIT_ENABLE_PROFILE;
mSystem->createChannelGroup("None", &mChannelGroups[AUDIO_TYPE_NONE]);
mSystem->createChannelGroup("SFX", &mChannelGroups[AUDIO_TYPE_SFX]);
mSystem->createChannelGroup("UI", &mChannelGroups[AUDIO_TYPE_UI]);
mSystem->createChannelGroup("Ambient", &mChannelGroups[AUDIO_TYPE_AMBIENT]);
}
#if LL_LINUX
@@ -437,6 +433,14 @@ bool LLAudioEngine_FMODEX::init(const S32 num_channels, void* userdata)
return false;
#endif
if (mEnableProfiler)
{
mSystem->createChannelGroup("None", &mChannelGroups[AUDIO_TYPE_NONE]);
mSystem->createChannelGroup("SFX", &mChannelGroups[AUDIO_TYPE_SFX]);
mSystem->createChannelGroup("UI", &mChannelGroups[AUDIO_TYPE_UI]);
mSystem->createChannelGroup("Ambient", &mChannelGroups[AUDIO_TYPE_AMBIENT]);
}
// set up our favourite FMOD-native streaming audio implementation if none has already been added
if (!getStreamingAudioImpl()) // no existing implementation added
setStreamingAudioImpl(new LLStreamingAudio_FMODEX(mSystem));