First batch of changes to add LibVLC media plugin to macOS viewer. Plugin fails to start because of an as-yet undiagnosed issue with VLC plugin files related to their extyended attributes

master
Callum Linden 2017-01-27 15:47:16 -08:00
parent f13c2a6d31
commit dcae92c0a3
7 changed files with 55 additions and 22 deletions

View File

@ -2983,6 +2983,18 @@
<string>vlc-bin</string>
<key>platforms</key>
<map>
<key>darwin64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>c5e6d9440e3a4a12102dd2bbb703963e</string>
<key>url</key>
<string>http://automated-builds-secondlife-com.s3.amazonaws.com/ct2/2225/4736/vlc_bin-2.2.4.502214-darwin64-502214.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
</map>
<key>linux</key>
<map>
<key>archive</key>
@ -3021,7 +3033,7 @@
</map>
</map>
<key>version</key>
<string>2.2.4.501207</string>
<string>2.2.4.502214</string>
</map>
<key>xmlrpc-epi</key>
<map>

View File

@ -18,6 +18,10 @@ if (WINDOWS)
libvlccore.lib
)
elseif (DARWIN)
set(VLC_PLUGIN_LIBRARIES
libvlc.dylib
libvlccore.dylib
)
elseif (LINUX)
# Specify a full path to make sure we get a static link
set(VLC_PLUGIN_LIBRARIES

View File

@ -9,6 +9,7 @@ endif (LINUX)
if (DARWIN)
add_subdirectory(cef)
add_subdirectory(libvlc)
endif (DARWIN)
if (WINDOWS)

View File

@ -159,6 +159,10 @@ void MediaPluginLibVLC::initVLC()
"--video-filter=transform{type=vflip}", // MAINT-6578 Y flip textures in plugin vs client
};
#if LL_DARWIN
setenv("VLC_PLUGIN_PATH", ".", 1);
#endif
int vlc_argc = sizeof(vlc_argv) / sizeof(*vlc_argv);
mLibVLC = libvlc_new(vlc_argc, vlc_argv);

View File

@ -1742,7 +1742,6 @@ if (WINDOWS)
${ARCH_PREBUILT_DIRS_DEBUG}/libeay32.dll
${ARCH_PREBUILT_DIRS_DEBUG}/ssleay32.dll
SLPlugin
media_plugin_quicktime
media_plugin_cef
media_plugin_libvlc
winmm_shim
@ -2067,7 +2066,7 @@ if (DARWIN)
${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
)
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_libvlc media_plugin_cef mac-crash-logger)
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_libvlc media_plugin_cef mac-crash-logger)
add_dependencies(${VIEWER_BINARY_NAME} mac-crash-logger)
if (ENABLE_SIGNING)
@ -2124,7 +2123,6 @@ if (PACKAGE)
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/llplugin/slplugin/${CMAKE_CFG_INTDIR}")
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/mac_crash_logger/${CMAKE_CFG_INTDIR}")
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/media_plugins/gstreamer010/${CMAKE_CFG_INTDIR}")
list(APPEND SYMBOL_SEARCH_DIRS "${CMAKE_BINARY_DIR}/media_plugins/quicktime/${CMAKE_CFG_INTDIR}")
set(VIEWER_SYMBOL_FILE "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/secondlife-symbols-darwin-$ENV{AUTOBUILD_ADDRSIZE}.tar.bz2")
set(VIEWER_EXE_GLOBS "'Second Life' SLPlugin mac-crash-logger")
set(VIEWER_EXE_GLOBS "'Second Life' mac-crash-logger")

View File

@ -130,7 +130,7 @@
movie
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</scheme>
<mimetype name="blank">
@ -141,7 +141,7 @@
none
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype name="none/none">
@ -163,7 +163,7 @@
audio
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype name="video/*">
@ -174,7 +174,7 @@
movie
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype name="image/*">
@ -196,7 +196,7 @@
movie
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype name="application/javascript">
@ -218,7 +218,7 @@
audio
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype name="application/pdf">
@ -295,7 +295,7 @@
audio
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype name="audio/mpeg">
@ -306,7 +306,7 @@
audio
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype name="audio/x-aiff">
@ -317,7 +317,7 @@
audio
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype name="audio/x-wav">
@ -328,7 +328,7 @@
audio
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype menu="1" name="image/bmp">
@ -438,7 +438,7 @@
movie
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype name="video/mp4">
@ -449,7 +449,7 @@
movie
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype menu="1" name="video/quicktime">
@ -460,7 +460,7 @@
movie
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype name="video/x-ms-asf">
@ -471,7 +471,7 @@
movie
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype name="video/x-ms-wmv">
@ -482,7 +482,7 @@
movie
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
<mimetype menu="1" name="video/x-msvideo">
@ -493,7 +493,7 @@
movie
</widgettype>
<impl>
media_plugin_quicktime
media_plugin_libvlc
</impl>
</mimetype>
</mimetypes>

View File

@ -861,10 +861,24 @@ class DarwinManifest(ViewerManifest):
# SLPlugin plugins
if self.prefix(src="", dst="llplugin"):
self.path2basename("../media_plugins/quicktime/" + self.args['configuration'],
"media_plugin_quicktime.dylib")
self.path2basename("../media_plugins/cef/" + self.args['configuration'],
"media_plugin_cef.dylib")
# copy LibVLC plugin itself
self.path2basename("../media_plugins/libvlc/" + self.args['configuration'],
"media_plugin_libvlc.dylib")
# copy LibVLC dynamic libraries
if self.prefix(src=os.path.join(os.pardir, 'packages', 'lib', 'release' ), dst="lib"):
self.path( "libvlc*.dylib*" )
self.end_prefix()
# copy LibVLC plugins folder
if self.prefix(src=os.path.join(os.pardir, 'packages', 'lib', 'release', 'plugins' ), dst="plugins"):
self.path( "lib*_plugin.dylib" )
self.path( "plugins.dat" )
self.end_prefix()
self.end_prefix("llplugin")
self.end_prefix("Resources")