From c2e755287eee1e9c9af4f918b20a4b2fa5f361f7 Mon Sep 17 00:00:00 2001
From: Erik Kundiman <erik@megapahit.org>
Date: Sat, 29 Jul 2023 14:29:52 +0800
Subject: Start adding LibVLC support when using system libs

Streaming is not working yet, though. Until it's made sure that the
dynamic library and plugins needed are on the paths the executable is
expecting them to be.
---
 indra/newview/CMakeLists.txt  |  6 ++++++
 indra/newview/llappviewer.cpp | 13 +++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

(limited to 'indra/newview')

diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 74805178b6..d6c8adfeab 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -58,6 +58,7 @@ include(VisualLeakDetector)
 include(ZLIBNG)
 include(URIPARSER)
 include(LLPrimitive)
+include(LibVLCPlugin)
 
 if ((USE_AUTOBUILD_3P OR USE_CONAN) AND NOT HAVOK_TPV)
    # When using HAVOK_TPV, the library is precompiled, so no need for this
@@ -1917,6 +1918,7 @@ target_link_libraries(${VIEWER_BINARY_NAME}
         ${LLPHYSICSEXTENSIONS_LIBRARIES}
         ll::bugsplat
         ll::tracy
+        ll::libvlc
         )
 
 if( TARGET ll::intel_memops )
@@ -2081,7 +2083,11 @@ if (DARWIN)
       ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
     )
 
+  if (USE_AUTOBUILD_3P OR USE_CONAN)
   add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_libvlc media_plugin_cef)
+  else ()
+    add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_libvlc)
+  endif ()
 
   if (ENABLE_SIGNING)
       set(SIGNING_SETTING "--signature=${SIGNING_IDENTITY}")
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 29f1fa6e4d..23e6b16103 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -131,10 +131,12 @@
 #include "stringize.h"
 #include "llcoros.h"
 #include "llexception.h"
-#if !LL_LINUX && !LL_FREEBSD
+//#if !LL_LINUX
+#ifndef LL_USESYSTEMLIBS
 #include "cef/dullahan_version.h"
+#endif
 #include "vlc/libvlc_version.h"
-#endif // LL_LINUX
+//#endif // LL_LINUX
 
 #if LL_DARWIN
 #include "llwindowmacosx.h"
@@ -3338,7 +3340,8 @@ LLSD LLAppViewer::getViewerInfo() const
 		info["VOICE_VERSION"] = LLTrans::getString("NotConnected");
 	}
 
-#if !LL_LINUX && !LL_FREEBSD
+//#if !LL_LINUX && !LL_FREEBSD && !LL_DARWIN
+#ifndef LL_USESYSTEMLIBS
 	std::ostringstream cef_ver_codec;
 	cef_ver_codec << "Dullahan: ";
 	cef_ver_codec << DULLAHAN_VERSION_MAJOR;
@@ -3368,7 +3371,7 @@ LLSD LLAppViewer::getViewerInfo() const
 	info["LIBCEF_VERSION"] = "Undefined";
 #endif
 
-#if !LL_LINUX && !LL_FREEBSD
+//#if !LL_LINUX
 	std::ostringstream vlc_ver_codec;
 	vlc_ver_codec << LIBVLC_VERSION_MAJOR;
 	vlc_ver_codec << ".";
@@ -3376,9 +3379,11 @@ LLSD LLAppViewer::getViewerInfo() const
 	vlc_ver_codec << ".";
 	vlc_ver_codec << LIBVLC_VERSION_REVISION;
 	info["LIBVLC_VERSION"] = vlc_ver_codec.str();
+/*
 #else
 	info["LIBVLC_VERSION"] = "Undefined";
 #endif
+*/
 
 	S32 packets_in = LLViewerStats::instance().getRecording().getSum(LLStatViewer::PACKETS_IN);
 	if (packets_in > 0)
-- 
cgit v1.2.3