aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden
diff options
context:
space:
mode:
authorRobin Cornelius2010-10-10 15:48:32 +0100
committerRobin Cornelius2010-10-10 15:48:32 +0100
commitf001c10b78553fe3a59a2a71c223d094118bf8a8 (patch)
tree2eca1d683699e27f64629b8a3862895e016e1d23 /linden
parentone more poke on trees+grass + fix the windlight water (diff)
downloadmeta-impy-f001c10b78553fe3a59a2a71c223d094118bf8a8.zip
meta-impy-f001c10b78553fe3a59a2a71c223d094118bf8a8.tar.gz
meta-impy-f001c10b78553fe3a59a2a71c223d094118bf8a8.tar.bz2
meta-impy-f001c10b78553fe3a59a2a71c223d094118bf8a8.tar.xz
Let the gstreamer plugin build on windows
Diffstat (limited to 'linden')
-rw-r--r--linden/indra/cmake/GStreamer010Plugin.cmake29
-rwxr-xr-xlinden/indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h15
-rwxr-xr-xlinden/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp11
-rw-r--r--linden/indra/newview/CMakeLists.txt20
-rwxr-xr-xlinden/indra/newview/viewer_manifest.py6
5 files changed, 67 insertions, 14 deletions
diff --git a/linden/indra/cmake/GStreamer010Plugin.cmake b/linden/indra/cmake/GStreamer010Plugin.cmake
index 78ffd94..cafcd4c 100644
--- a/linden/indra/cmake/GStreamer010Plugin.cmake
+++ b/linden/indra/cmake/GStreamer010Plugin.cmake
@@ -6,7 +6,8 @@ if (STANDALONE)
6 6
7 pkg_check_modules(GSTREAMER010 REQUIRED gstreamer-0.10) 7 pkg_check_modules(GSTREAMER010 REQUIRED gstreamer-0.10)
8 pkg_check_modules(GSTREAMER010_PLUGINS_BASE REQUIRED gstreamer-plugins-base-0.10) 8 pkg_check_modules(GSTREAMER010_PLUGINS_BASE REQUIRED gstreamer-plugins-base-0.10)
9elseif (LINUX) 9endif (STANDALONE)
10
10 use_prebuilt_binary(gstreamer) 11 use_prebuilt_binary(gstreamer)
11 # possible libxml should have its own .cmake file instead 12 # possible libxml should have its own .cmake file instead
12 use_prebuilt_binary(libxml) 13 use_prebuilt_binary(libxml)
@@ -17,6 +18,21 @@ elseif (LINUX)
17 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0 18 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/glib-2.0
18 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/libxml2 19 ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/include/libxml2
19 ) 20 )
21
22if (WINDOWS)
23 # We don't need to explicitly link against gstreamer itself, because
24 # LLMediaImplGStreamer probes for the system's copy at runtime.
25 set(GSTREAMER010_LIBRARIES
26 libgstvideo
27 libgstaudio
28 libgstbase-0.10
29 libgstreamer-0.10
30 gobject-2.0
31 gmodule-2.0
32 gthread-2.0
33 glib-2.0
34 )
35else (WINDOWS)
20 # We don't need to explicitly link against gstreamer itself, because 36 # We don't need to explicitly link against gstreamer itself, because
21 # LLMediaImplGStreamer probes for the system's copy at runtime. 37 # LLMediaImplGStreamer probes for the system's copy at runtime.
22 set(GSTREAMER010_LIBRARIES 38 set(GSTREAMER010_LIBRARIES
@@ -31,13 +47,16 @@ elseif (LINUX)
31 rt 47 rt
32 glib-2.0 48 glib-2.0
33 ) 49 )
34endif (STANDALONE) 50
51
52endif (WINDOWS)
53
35 54
36if (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND) 55if (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND)
37 set(GSTREAMER010 ON CACHE BOOL "Build with GStreamer-0.10 streaming media support.") 56 set(GSTREAMER010 ON CACHE BOOL "Build with GStreamer-0.10 streaming media support.")
57 add_definitions(-DLL_GSTREAMER010_ENABLED=1)
38endif (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND) 58endif (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND)
39 59
40if (GSTREAMER010) 60
41 add_definitions(-DLL_GSTREAMER010_ENABLED=1) 61
42endif (GSTREAMER010)
43 62
diff --git a/linden/indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h b/linden/indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h
index f5da637..0ea096a 100755
--- a/linden/indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h
+++ b/linden/indra/media_plugins/gstreamer010/llmediaimplgstreamertriviallogging.h
@@ -40,18 +40,29 @@
40 40
41extern "C" { 41extern "C" {
42#include <sys/types.h> 42#include <sys/types.h>
43#include <unistd.h> 43//#include <unistd.h> //fiuxme
44} 44}
45 45
46#define MSGMODULEFOO "(media plugin)"
47
48#ifdef LL_LINUX
46///////////////////////////////////////////////////////////////////////// 49/////////////////////////////////////////////////////////////////////////
47// Debug/Info/Warning macros. 50// Debug/Info/Warning macros.
48#define MSGMODULEFOO "(media plugin)" 51
49#define STDERRMSG(...) do{\ 52#define STDERRMSG(...) do{\
50 fprintf(stderr, " pid:%d: ", (int)getpid());\ 53 fprintf(stderr, " pid:%d: ", (int)getpid());\
51 fprintf(stderr, MSGMODULEFOO " %s:%d: ", __FUNCTION__, __LINE__);\ 54 fprintf(stderr, MSGMODULEFOO " %s:%d: ", __FUNCTION__, __LINE__);\
52 fprintf(stderr, __VA_ARGS__);\ 55 fprintf(stderr, __VA_ARGS__);\
53 fputc('\n',stderr);\ 56 fputc('\n',stderr);\
54 }while(0) 57 }while(0)
58#else
59#define STDERRMSG(...) do{\
60 fprintf(stderr, MSGMODULEFOO " %s:%d: ", __FUNCTION__, __LINE__);\
61 fprintf(stderr, __VA_ARGS__);\
62 fputc('\n',stderr);\
63 }while(0)
64#endif
65
55#define NULLMSG(...) do{}while(0) 66#define NULLMSG(...) do{}while(0)
56 67
57#define DEBUGMSG NULLMSG 68#define DEBUGMSG NULLMSG
diff --git a/linden/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp b/linden/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp
index 4dd182e..44bc32e 100755
--- a/linden/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp
+++ b/linden/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp
@@ -35,6 +35,13 @@
35 35
36#include "linden_common.h" 36#include "linden_common.h"
37 37
38// Needed for _getcwd() RC
39#ifdef LL_WINDOWS
40#include <direct.h>
41#include <stdlib.h>
42#include <stdio.h>
43#endif
44
38#include "llgl.h" 45#include "llgl.h"
39 46
40#include "llplugininstance.h" 47#include "llplugininstance.h"
@@ -84,7 +91,7 @@ private:
84 bool play(double rate); 91 bool play(double rate);
85 bool getTimePos(double &sec_out); 92 bool getTimePos(double &sec_out);
86 93
87 static const double MIN_LOOP_SEC = 1.0F; 94 #define MIN_LOOP_SEC 1.0F
88 95
89 bool mIsLooping; 96 bool mIsLooping;
90 97
@@ -689,7 +696,7 @@ MediaPluginGStreamer010::load()
689 DEBUGMSG("setting up media..."); 696 DEBUGMSG("setting up media...");
690 697
691 mIsLooping = false; 698 mIsLooping = false;
692 mVolume = 0.1234567; // minor hack to force an initial volume update 699 mVolume = (float) 0.1234567; // minor hack to force an initial volume update
693 700
694 // Create a pumpable main-loop for this media 701 // Create a pumpable main-loop for this media
695 mPump = g_main_loop_new (NULL, FALSE); 702 mPump = g_main_loop_new (NULL, FALSE);
diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt
index 3dabb3b..8b1d59a 100644
--- a/linden/indra/newview/CMakeLists.txt
+++ b/linden/indra/newview/CMakeLists.txt
@@ -1336,7 +1336,7 @@ if (WINDOWS)
1336 DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py 1336 DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1337 ) 1337 )
1338 1338
1339 add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit) 1339 add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit media_plugin_gstreamer)
1340 1340
1341 if (PACKAGE) 1341 if (PACKAGE)
1342 add_custom_target(package ALL DEPENDS ${CMAKE_CFG_INTDIR}/touched.bat) 1342 add_custom_target(package ALL DEPENDS ${CMAKE_CFG_INTDIR}/touched.bat)
@@ -1456,7 +1456,7 @@ if (DARWIN)
1456 DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py 1456 DEPENDS ${VIEWER_BINARY_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1457 ) 1457 )
1458 1458
1459 add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit) 1459 add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit media_plugin_gstreamer010)
1460 1460
1461 if (PACKAGE) 1461 if (PACKAGE)
1462 add_custom_target(package ALL DEPENDS ${VIEWER_BINARY_NAME}) 1462 add_custom_target(package ALL DEPENDS ${VIEWER_BINARY_NAME})
@@ -1481,7 +1481,7 @@ if (DARWIN)
1481 ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py 1481 ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py
1482 ) 1482 )
1483 1483
1484 add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit) 1484 add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_quicktime media_plugin_webkit media_plugin_gstreamer010)
1485 add_custom_command( 1485 add_custom_command(
1486 TARGET package POST_BUILD 1486 TARGET package POST_BUILD
1487 COMMAND ${PYTHON_EXECUTABLE} 1487 COMMAND ${PYTHON_EXECUTABLE}
@@ -1534,7 +1534,19 @@ if (WINDOWS)
1534 ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin 1534 ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin
1535 COMMENT "Copying WebKit Plugin to the runtime folder." 1535 COMMENT "Copying WebKit Plugin to the runtime folder."
1536 ) 1536 )
1537 1537
1538 get_target_property(BUILT_GSTREAMER_PLUGIN media_plugin_gstreamer010 LOCATION)
1539 add_custom_command(
1540 TARGET ${VIEWER_BINARY_NAME} POST_BUILD
1541 COMMAND ${CMAKE_COMMAND}
1542 ARGS
1543 -E
1544 copy_if_different
1545 ${BUILT_GSTREAMER_PLUGIN}
1546 ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/llplugin
1547 COMMENT "Copying Gstreamer Plugin to the runtime folder."
1548 )
1549
1538 get_target_property(BUILT_QUICKTIME_PLUGIN media_plugin_quicktime LOCATION) 1550 get_target_property(BUILT_QUICKTIME_PLUGIN media_plugin_quicktime LOCATION)
1539 add_custom_command( 1551 add_custom_command(
1540 TARGET ${VIEWER_BINARY_NAME} POST_BUILD 1552 TARGET ${VIEWER_BINARY_NAME} POST_BUILD
diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py
index 4c95f00..9c2dbed 100755
--- a/linden/indra/newview/viewer_manifest.py
+++ b/linden/indra/newview/viewer_manifest.py
@@ -257,7 +257,6 @@ class WindowsManifest(ViewerManifest):
257 self.path("alut.dll") 257 self.path("alut.dll")
258 self.end_prefix() 258 self.end_prefix()
259 259
260
261 # Media plugins - QuickTime 260 # Media plugins - QuickTime
262 if self.prefix(src='../media_plugins/quicktime/%s' % self.args['configuration'], dst="llplugin"): 261 if self.prefix(src='../media_plugins/quicktime/%s' % self.args['configuration'], dst="llplugin"):
263 self.path("media_plugin_quicktime.dll") 262 self.path("media_plugin_quicktime.dll")
@@ -268,6 +267,11 @@ class WindowsManifest(ViewerManifest):
268 self.path("media_plugin_webkit.dll") 267 self.path("media_plugin_webkit.dll")
269 self.end_prefix() 268 self.end_prefix()
270 269
270 # Media plugins - Gstreamer
271 if self.prefix(src='../media_plugins/gstreamer/%s' % self.args['configuration'], dst="llplugin"):
272 self.path("media_plugin_gstreamer010.dll")
273 self.end_prefix()
274
271 # For WebKit/Qt plugin runtimes 275 # For WebKit/Qt plugin runtimes
272 if self.prefix(src="../../libraries/i686-win32/lib/release", dst="llplugin"): 276 if self.prefix(src="../../libraries/i686-win32/lib/release", dst="llplugin"):
273 self.path("libeay32.dll") 277 self.path("libeay32.dll")