diff options
| author | Erik Kundiman <erik@megapahit.org> | 2024-07-29 12:31:22 +0800 | 
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2024-07-29 12:46:08 +0800 | 
| commit | 7e7956b4801b1f0276229b4f65886911beaa96af (patch) | |
| tree | c8b2772b3bc6cbd5309c308e26bfcef08129566a /indra | |
| parent | 1afd491d154627d69c9dfefb314a17d5605b01d4 (diff) | |
Get VLC streaming to work again on macOS
Somehow it wouldn't work when the libvlc dylibs linked by
media_plugin_libvlc were far in Frameworks, even with all the
linkages and VLC_PLUGIN_PATH set correctly.
Because of this, I had to make the libvlc files redundantly copied
(they're under 1 MB so we'll live with it) in llplugin just like
upstream for media_plugin_libvlc to link to instead, though it seems
the directory name can be anything, so I just let it be "plugins"
for installation convenience using CMake.
Also now the builder is assumed to not necessarily want VLC.app to
be installed in /Applications, though they would need to keep the
downloaded VLC disc image open.
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/cmake/LibVLCPlugin.cmake | 4 | ||||
| -rw-r--r-- | indra/media_plugins/libvlc/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | indra/media_plugins/libvlc/media_plugin_libvlc.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/ViewerInstall.cmake | 12 | 
4 files changed, 15 insertions, 7 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/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index 6fa3fdcaac..dd2cbff903 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -63,8 +63,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/media_plugins/libvlc/media_plugin_libvlc.cpp b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp index 4828befb6b..a5d8f885fd 100644 --- a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp +++ b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp @@ -174,7 +174,7 @@ void MediaPluginLibVLC::initVLC()      };  #if LL_DARWIN -    setenv("VLC_PLUGIN_PATH", "plugins", 1); +    setenv("VLC_PLUGIN_PATH", ".", 1);  #endif      int vlc_argc = sizeof(vlc_argv) / sizeof(*vlc_argv); diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index 079af78dcb..b468f1af99 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -114,8 +114,16 @@ if (DARWIN)          )      install(DIRECTORY -        /Applications/VLC.app/Contents/MacOS/plugins -        DESTINATION ../Frameworks +        /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 | 
