diff options
| author | Callum Linden <callum@lindenlab.com> | 2017-01-27 15:47:16 -0800 | 
|---|---|---|
| committer | Callum Linden <callum@lindenlab.com> | 2017-01-27 15:47:16 -0800 | 
| commit | dcae92c0a306aaf6447089b340913d4a678855ac (patch) | |
| tree | 6897d6080067b39f4ab1ff628dbeb047601117ed | |
| parent | f13c2a6d31ed44fb620cc7709802861bfdbf98c4 (diff) | |
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
| -rw-r--r-- | autobuild.xml | 14 | ||||
| -rw-r--r-- | indra/cmake/LibVLCPlugin.cmake | 4 | ||||
| -rw-r--r-- | indra/media_plugins/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | indra/media_plugins/libvlc/media_plugin_libvlc.cpp | 4 | ||||
| -rw-r--r-- | indra/newview/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/mime_types_mac.xml | 32 | ||||
| -rwxr-xr-x | indra/newview/viewer_manifest.py | 18 | 
7 files changed, 55 insertions, 22 deletions
| diff --git a/autobuild.xml b/autobuild.xml index 5f741e276e..851a7933aa 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -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> diff --git a/indra/cmake/LibVLCPlugin.cmake b/indra/cmake/LibVLCPlugin.cmake index 4472676fb4..df829b615a 100644 --- a/indra/cmake/LibVLCPlugin.cmake +++ b/indra/cmake/LibVLCPlugin.cmake @@ -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 diff --git a/indra/media_plugins/CMakeLists.txt b/indra/media_plugins/CMakeLists.txt index f654c15183..1eadce825e 100644 --- a/indra/media_plugins/CMakeLists.txt +++ b/indra/media_plugins/CMakeLists.txt @@ -9,6 +9,7 @@ endif (LINUX)  if (DARWIN)      add_subdirectory(cef) +    add_subdirectory(libvlc)  endif (DARWIN)  if (WINDOWS) diff --git a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp index 0bd323eb58..c2dff49bb3 100644 --- a/indra/media_plugins/libvlc/media_plugin_libvlc.cpp +++ b/indra/media_plugins/libvlc/media_plugin_libvlc.cpp @@ -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); diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index f2eb8ff9d5..e641741958 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -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") diff --git a/indra/newview/skins/default/xui/en/mime_types_mac.xml b/indra/newview/skins/default/xui/en/mime_types_mac.xml index f71c24b2e4..2d96708b86 100644 --- a/indra/newview/skins/default/xui/en/mime_types_mac.xml +++ b/indra/newview/skins/default/xui/en/mime_types_mac.xml @@ -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> diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 89c98a1cb3..6fb9479564 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -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") | 
