summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2024-08-03 19:48:02 +0800
committerErik Kundiman <erik@megapahit.org>2024-08-03 19:48:02 +0800
commitb89076f0567547b9c2749595af5ae9d5f9de9f3a (patch)
tree61bdffca799f17224fbbf304b626d8d347826297 /indra
parent1ebb604236b984c35c52d05f6d87f256b7f49e02 (diff)
parent4ba836ed2f4a67b976a87923c1deaaf2d3ae4880 (diff)
Merge branch 'main' into webrtc-voice
Diffstat (limited to 'indra')
-rw-r--r--indra/cmake/LibVLCPlugin.cmake4
-rw-r--r--indra/llimage/llimagejpeg.cpp8
-rw-r--r--indra/media_plugins/libvlc/CMakeLists.txt4
-rw-r--r--indra/newview/ViewerInstall.cmake13
-rw-r--r--indra/newview/llviewermedia.cpp2
5 files changed, 26 insertions, 5 deletions
diff --git a/indra/cmake/LibVLCPlugin.cmake b/indra/cmake/LibVLCPlugin.cmake
index 66dc13d126..9f0419c5e6 100644
--- a/indra/cmake/LibVLCPlugin.cmake
+++ b/indra/cmake/LibVLCPlugin.cmake
@@ -11,8 +11,8 @@ set(LIBVLCPLUGIN ON CACHE BOOL
"LIBVLCPLUGIN support for the llplugin/llmedia test apps.")
else ()
if (DARWIN)
- target_include_directories( ll::libvlc SYSTEM INTERFACE /Applications/VLC.app/Contents/MacOS/include)
- target_link_directories( ll::libvlc INTERFACE /Applications/VLC.app/Contents/MacOS/lib)
+ target_include_directories( ll::libvlc SYSTEM INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/include)
+ target_link_directories( ll::libvlc INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib)
target_link_libraries( ll::libvlc INTERFACE vlc vlccore )
else ()
include(FindPkgConfig)
diff --git a/indra/llimage/llimagejpeg.cpp b/indra/llimage/llimagejpeg.cpp
index 93f1d0cdc4..a6da2f66ab 100644
--- a/indra/llimage/llimagejpeg.cpp
+++ b/indra/llimage/llimagejpeg.cpp
@@ -77,11 +77,13 @@ bool LLImageJPEG::updateData()
//try/catch will crash on Mac and Linux if LLImageJPEG::errorExit throws an error
//so as instead, we use setjmp/longjmp to avoid this crash, which is the best we can get. --bao
//
+#if !(LL_DARWIN && defined(__arm64__))
if(setjmp(sSetjmpBuffer))
{
jpeg_destroy_decompress(&cinfo);
return false;
}
+#endif
try
{
// Now we can initialize the JPEG decompression object.
@@ -218,11 +220,13 @@ bool LLImageJPEG::decode(LLImageRaw* raw_image, F32 decode_time)
//try/catch will crash on Mac and Linux if LLImageJPEG::errorExit throws an error
//so as instead, we use setjmp/longjmp to avoid this crash, which is the best we can get. --bao
//
+#if !(LL_DARWIN && defined(__arm64__))
if(setjmp(sSetjmpBuffer))
{
jpeg_destroy_decompress(&cinfo);
return true; // done
}
+#endif
try
{
// Now we can initialize the JPEG decompression object.
@@ -426,7 +430,9 @@ void LLImageJPEG::errorExit( j_common_ptr cinfo )
jpeg_destroy(cinfo);
// Return control to the setjmp point
+#if !(LL_DARWIN && defined(__arm64__))
longjmp(sSetjmpBuffer, 1) ;
+#endif
}
// Decide whether to emit a trace or warning message.
@@ -535,6 +541,7 @@ bool LLImageJPEG::encode( const LLImageRaw* raw_image, F32 encode_time )
//try/catch will crash on Mac and Linux if LLImageJPEG::errorExit throws an error
//so as instead, we use setjmp/longjmp to avoid this crash, which is the best we can get. --bao
//
+#if !(LL_DARWIN && defined(__arm64__))
if( setjmp(sSetjmpBuffer) )
{
// If we get here, the JPEG code has signaled an error.
@@ -545,6 +552,7 @@ bool LLImageJPEG::encode( const LLImageRaw* raw_image, F32 encode_time )
mOutputBufferSize = 0;
return false;
}
+#endif
try
{
diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt
index 8600358b0c..3c499b0cbd 100644
--- a/indra/media_plugins/libvlc/CMakeLists.txt
+++ b/indra/media_plugins/libvlc/CMakeLists.txt
@@ -70,8 +70,8 @@ if (DARWIN)
-change "/opt/local/lib/liburiparser.1.dylib" "@loader_path/../../Frameworks/liburiparser.1.dylib"
-change "/opt/local/lib/libnghttp2.14.dylib" "@loader_path/../../Frameworks/libnghttp2.14.dylib"
-change "/usr/local/lib/libxmlrpc-epi.0.dylib" "@loader_path/../../Frameworks/libxmlrpc-epi.0.dylib"
- -change "@rpath/libvlc.dylib" "@loader_path/../../Frameworks/libvlc.dylib"
- -change "@rpath/libvlccore.dylib" "@loader_path/../../Frameworks/libvlccore.dylib"
+ -change "@rpath/libvlc.dylib" "@loader_path/plugins/libvlc.dylib"
+ -change "@rpath/libvlccore.dylib" "@loader_path/plugins/libvlccore.dylib"
"$<TARGET_FILE:media_plugin_libvlc>"
VERBATIM
COMMENT "Fixing paths to LibVLC media plugin dependencies"
diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake
index cf82044fb8..b468f1af99 100644
--- a/indra/newview/ViewerInstall.cmake
+++ b/indra/newview/ViewerInstall.cmake
@@ -114,6 +114,19 @@ if (DARWIN)
)
install(DIRECTORY
+ /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/plugins
+ DESTINATION llplugin
+ )
+
+ install(FILES
+ /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib/libvlc.5.dylib
+ /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib/libvlc.dylib
+ /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib/libvlccore.9.dylib
+ /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib/libvlccore.dylib
+ DESTINATION llplugin/plugins
+ )
+
+ install(DIRECTORY
"${AUTOBUILD_INSTALL_DIR}/lib/release/Chromium Embedded Framework.framework"
DESTINATION ../Frameworks
)
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index e86cb7ab39..7b5eb581fe 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -397,7 +397,7 @@ std::string LLViewerMedia::getCurrentUserAgent()
// This was also helpful:
// http://www.mozilla.org/build/revised-user-agent-strings.html
std::ostringstream codec;
- codec << "SecondLife/";
+ codec << "Megapahit/";
codec << LLVersionInfo::instance().getVersion();
codec << " (" << channel << "; " << skin_name << " skin)";
LL_INFOS() << codec.str() << LL_ENDL;