diff options
author | Robin Cornelius | 2010-10-10 15:48:32 +0100 |
---|---|---|
committer | Robin Cornelius | 2010-10-10 15:48:32 +0100 |
commit | f001c10b78553fe3a59a2a71c223d094118bf8a8 (patch) | |
tree | 2eca1d683699e27f64629b8a3862895e016e1d23 /linden | |
parent | one more poke on trees+grass + fix the windlight water (diff) | |
download | meta-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 '')
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) |
9 | elseif (LINUX) | 9 | endif (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 | |||
22 | if (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 | ) | ||
35 | else (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 | ) |
34 | endif (STANDALONE) | 50 | |
51 | |||
52 | endif (WINDOWS) | ||
53 | |||
35 | 54 | ||
36 | if (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND) | 55 | if (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) | ||
38 | endif (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND) | 58 | endif (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND) |
39 | 59 | ||
40 | if (GSTREAMER010) | 60 | |
41 | add_definitions(-DLL_GSTREAMER010_ENABLED=1) | 61 | |
42 | endif (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 | ||
41 | extern "C" { | 41 | extern "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") |