From 2f78338aeb3d0297813bc9c9c7a9d75a2055000d Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Thu, 11 Jun 2020 15:25:35 +0300
Subject: Debug Fmod with logging

---
 indra/cmake/Copy3rdPartyLibs.cmake            | 6 +++---
 indra/cmake/FMODSTUDIO.cmake                  | 6 +++---
 indra/llaudio/llaudioengine_fmodstudio.cpp    | 8 ++++++++
 indra/llaudio/llstreamingaudio_fmodstudio.cpp | 1 +
 indra/newview/CMakeLists.txt                  | 4 ++--
 5 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake
index b20d23cead..a8ad51fb11 100644
--- a/indra/cmake/Copy3rdPartyLibs.cmake
+++ b/indra/cmake/Copy3rdPartyLibs.cmake
@@ -87,7 +87,7 @@ if(WINDOWS)
 
     if (FMODSTUDIO)
         set(debug_files ${debug_files} fmodL.dll)
-        set(release_files ${release_files} fmod.dll)
+        set(release_files ${release_files} fmodL.dll)
     endif (FMODSTUDIO)
 
     if (OPENAL)
@@ -179,7 +179,7 @@ elseif(DARWIN)
 
     if (FMODSTUDIO)
       set(debug_files ${debug_files} libfmodL.dylib)
-      set(release_files ${release_files} libfmod.dylib)
+      set(release_files ${release_files} libfmodL.dylib)
     endif (FMODSTUDIO)
 
 elseif(LINUX)
@@ -229,7 +229,7 @@ elseif(LINUX)
 
     if (FMODSTUDIO)
       set(debug_files ${debug_files} "libfmodL.so")
-      set(release_files ${release_files} "libfmod.so")
+      set(release_files ${release_files} "libfmodL.so")
     endif (FMODSTUDIO)
 
 else(WINDOWS)
diff --git a/indra/cmake/FMODSTUDIO.cmake b/indra/cmake/FMODSTUDIO.cmake
index 8840354ac6..a58bdf7ef3 100644
--- a/indra/cmake/FMODSTUDIO.cmake
+++ b/indra/cmake/FMODSTUDIO.cmake
@@ -20,16 +20,16 @@ if (FMODSTUDIO)
     if (WINDOWS)
       set(FMODSTUDIO_LIBRARY
           debug fmodL_vc
-          optimized fmod_vc)
+          optimized fmodL_vc)
     elseif (DARWIN)
       #despite files being called libfmod.dylib, we are searching for fmod
       set(FMODSTUDIO_LIBRARY
           debug fmodL
-          optimized fmod)
+          optimized fmodL)
     elseif (LINUX)
       set(FMODSTUDIO_LIBRARY
           debug fmodL
-          optimized fmod)
+          optimized fmodL)
     endif (WINDOWS)
     set(FMODSTUDIO_LIBRARIES ${FMODSTUDIO_LIBRARY})
     set(FMODSTUDIO_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/fmodstudio)
diff --git a/indra/llaudio/llaudioengine_fmodstudio.cpp b/indra/llaudio/llaudioengine_fmodstudio.cpp
index 5450577134..e9d0fbd6d8 100644
--- a/indra/llaudio/llaudioengine_fmodstudio.cpp
+++ b/indra/llaudio/llaudioengine_fmodstudio.cpp
@@ -97,6 +97,14 @@ bool LLAudioEngine_FMODSTUDIO::init(const S32 num_channels, void* userdata, cons
             << " expected:" << FMOD_VERSION << LL_ENDL;
     }
 
+    Check_FMOD_Error(result, "FMOD::System::getVersion");
+    std::string logfile = gDirUtilp->getExpandedFilename(LL_PATH_LOGS, "fmod.log");
+    result = FMOD::Debug_Initialize(FMOD_DEBUG_LEVEL_LOG, FMOD_DEBUG_MODE_FILE, 0, logfile.c_str());
+    if (Check_FMOD_Error(result, "FMOD::System_Create"))
+    {
+        LL_WARNS() << "Failed to init logging" << LL_ENDL;
+    }
+
     // In this case, all sounds, PLUS wind and stream will be software.
     result = mSystem->setSoftwareChannels(num_channels + 2);
     Check_FMOD_Error(result, "FMOD::System::setSoftwareChannels");
diff --git a/indra/llaudio/llstreamingaudio_fmodstudio.cpp b/indra/llaudio/llstreamingaudio_fmodstudio.cpp
index 08d19209aa..d6fedb2952 100644
--- a/indra/llaudio/llstreamingaudio_fmodstudio.cpp
+++ b/indra/llaudio/llstreamingaudio_fmodstudio.cpp
@@ -157,6 +157,7 @@ void LLStreamingAudio_FMODSTUDIO::update()
     }
     else if (open_state == FMOD_OPENSTATE_ERROR)
     {
+        LL_INFOS() << "getOpenState returned FMOD_OPENSTATE_ERROR" << LL_ENDL;
         stop();
         return;
     }
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 5a06106de3..4e687d15c8 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -1870,8 +1870,8 @@ if (WINDOWS)
 
     if (FMODSTUDIO)
       list(APPEND COPY_INPUT_DEPENDENCIES
-           ${SHARED_LIB_STAGING_DIR}/Release/fmod.dll
-           ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/fmod.dll
+           ${SHARED_LIB_STAGING_DIR}/Release/fmodL.dll
+           ${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/fmodL.dll
            ${SHARED_LIB_STAGING_DIR}/Debug/fmodL.dll
           )
     endif (FMODSTUDIO)
-- 
cgit v1.2.3