diff options
author | Erik Kundiman <erik@megapahit.org> | 2024-08-02 21:47:10 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2024-08-03 19:50:12 +0800 |
commit | 96d322edfcb97096f701ef11d5fdd1f1c97255ac (patch) | |
tree | 20229cbf7c4412d3d7c0a69c6c4b754b2cc060e9 /indra/newview | |
parent | e5c159597f159c308df878d053b591783337a3a1 (diff) |
Bring back FMOD, to be used on Fedora only, though
https://megapahit.com/show_bug.cgi?id=64
Dullahan is still not working, something in webrtc-voice is breaking
it too. But at least we're halfway now that we don't have to use
Fedora's OpenAL that is in conflict with Dullahan/CEF.
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llprogressview.cpp | 15 | ||||
-rw-r--r-- | indra/newview/llstartup.cpp | 28 |
2 files changed, 41 insertions, 2 deletions
diff --git a/indra/newview/llprogressview.cpp b/indra/newview/llprogressview.cpp index 9f2d490111..1f6353d1b4 100644 --- a/indra/newview/llprogressview.cpp +++ b/indra/newview/llprogressview.cpp @@ -401,6 +401,21 @@ void LLProgressView::initLogos() temp_str += gDirUtilp->getDirDelimiter(); +#ifdef LL_FMODSTUDIO + // original image size is 264x96, it is on longer side but + // with no internal paddings so it gets additional padding + icon_width = 77; + icon_height = 21; + S32 pad_fmod_y = 4; + texture_start_x++; + loadLogo(temp_str + "fmod_logo.png", + image_codec, + LLRect(texture_start_x, texture_start_y + pad_fmod_y + icon_height, texture_start_x + icon_width, texture_start_y + pad_fmod_y), + default_clip, + default_clip); + + texture_start_x += icon_width + default_pad + 1; +#endif //LL_FMODSTUDIO #ifdef LL_HAVOK // original image size is 342x113, central element is on a larger side // plus internal padding, so it gets slightly more height than desired 32 diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index a8fc1451f5..0765dc47b7 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -40,6 +40,10 @@ #include "llviewermedia_streamingaudio.h" #include "llaudioengine.h" +#ifdef LL_FMODSTUDIO +# include "llaudioengine_fmodstudio.h" +#endif + #ifdef LL_OPENAL #include "llaudioengine_openal.h" #endif @@ -656,6 +660,15 @@ bool idle_startup() delete gAudiop; gAudiop = NULL; +#ifdef LL_FMODSTUDIO +#if !LL_WINDOWS + if (NULL == getenv("LL_BAD_FMODSTUDIO_DRIVER")) +#endif // !LL_WINDOWS + { + gAudiop = (LLAudioEngine *) new LLAudioEngine_FMODSTUDIO(gSavedSettings.getBOOL("FMODExProfilerEnable")); + } +#endif + #ifdef LL_OPENAL #if !LL_WINDOWS if (NULL == getenv("LL_BAD_OPENAL_DRIVER")) @@ -676,8 +689,19 @@ bool idle_startup() #endif if (gAudiop->init(window_handle, LLAppViewer::instance()->getSecondLifeTitle())) { - LL_INFOS("AppInit") << "Using media plugins to render streaming audio" << LL_ENDL; - gAudiop->setStreamingAudioImpl(new LLStreamingAudio_MediaPlugins()); + if (FALSE == gSavedSettings.getBOOL("UseMediaPluginsForStreamingAudio")) + { + LL_INFOS("AppInit") << "Using default impl to render streaming audio" << LL_ENDL; + gAudiop->setStreamingAudioImpl(gAudiop->createDefaultStreamingAudioImpl()); + } + + // if the audio engine hasn't set up its own preferred handler for streaming audio + // then set up the generic streaming audio implementation which uses media plugins + if (NULL == gAudiop->getStreamingAudioImpl()) + { + LL_INFOS("AppInit") << "Using media plugins to render streaming audio" << LL_ENDL; + gAudiop->setStreamingAudioImpl(new LLStreamingAudio_MediaPlugins()); + } gAudiop->setMuted(true); } |