Skip to content

Commit 8aa6aa5

Browse files
committed
Bump gstreamermm to 1.4.3
1 parent 55f4e33 commit 8aa6aa5

File tree

6 files changed

+77
-62
lines changed

6 files changed

+77
-62
lines changed

CMakeLists.txt

+4-11
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ set(CAIROMM_DIR cairomm-1.11.2)
1010
set(PANGOMM_DIR pangomm-2.36.0)
1111
set(GTKMM_DIR gtkmm-3.16.0)
1212
set(XMLMM_DIR libxml++-2.38.0)
13-
set(GSTREAMERMM_DIR gstreamermm-0.10.10)
13+
set(GSTREAMERMM_DIR gstreamermm-1.4.3)
1414

1515
VERSION(${SIGC_DIR} SIGC_VERSION)
1616
VERSION(${GLIBMM_DIR} GLIBMM_VERSION)
@@ -36,21 +36,14 @@ GET(${GLIBMM_DIR_URL}/${GLIBMM_DIR}.tar.xz)
3636
GET(${GTKMM_DIR_URL}/${GTKMM_DIR}.tar.xz)
3737
execute_process(COMMAND patch -p0 --binary -i ${CMAKE_CURRENT_SOURCE_DIR}/patches/gtkmm_demowindow_cc.patch
3838
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${GTKMM_DIR})
39-
if(NOT EXISTS ${GSTREAMERMM_DIR})
40-
GET(${GSTREAMERMM_DIR_URL}/${GSTREAMERMM_DIR}.tar.bz2)
41-
execute_process(COMMAND patch -p0 --binary -i ${CMAKE_CURRENT_SOURCE_DIR}/patches/gstreamermm_clock_h.patch
42-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${GSTREAMERMM_DIR})
4339
GET(${PANGOMM_DIR_URL}/${PANGOMM_DIR}.tar.xz)
4440
GET(${SIGC_DIR_URL}/${SIGC_DIR}.tar.xz)
4541
GET(${XMLMM_DIR_URL}/${XMLMM_DIR}.tar.xz)
42+
GET(${GSTREAMERMM_DIR_URL}/${GSTREAMERMM_DIR}.tar.xz)
43+
GET_VERSION(${GSTREAMERMM_DIR} GSTREAMERMM_MAJOR_VERSION GSTREAMERMM_MINOR_VERSION GSTREAMERMM_MICRO_VERSION)
4644
execute_process(COMMAND patch -p0 --binary -i ${CMAKE_CURRENT_SOURCE_DIR}/patches/gstreamer_mp_player_window_cc.patch
47-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${GSTREAMERMM_DIR})
48-
#FIXME: parse version
49-
set(GSTREAMERMM_MAJOR_VERSION 0)
50-
set(GSTREAMERMM_MINOR_VERSION 10)
51-
set(GSTREAMERMM_MiCRO_VERSION 10)
45+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${GSTREAMERMM_DIR})
5246
configure_file(patches/gstreamermmconfig.h.in ${CMAKE_CURRENT_SOURCE_DIR}/${GSTREAMERMM_DIR}/gstreamer/gstreamermmconfig.h @ONLY)
53-
endif()
5447

5548
SET(CPACK_PACKAGE_VERSION_MAJOR 3)
5649
SET(CPACK_PACKAGE_VERSION_MINOR 1)

gstreamermm/examples/media_player_gtkmm/CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
include_directories(
2-
${GlibEtcInstallRoot}/include/gstreamer-0.10
2+
${GlibEtcInstallRoot}/include/gstreamer-1.0
33
${GlibEtcInstallRoot}/include/libxml2
44
${CMAKE_SOURCE_DIR}/${XMLMM_DIR}
55
${CMAKE_SOURCE_DIR}/${XMLMM_DIR}/${EXTRA}/libxml++
@@ -17,7 +17,7 @@ main.cc
1717

1818
add_executable(media_player_gtkmm ${PLAYER_SRCS})
1919

20-
target_link_libraries(media_player_gtkmm gtkmm-${GTKMM_VERSION} gstreamermm-${GSTREAMERMM_VERSION} sigc-${SIGC_VERSION} gstinterfaces-0.10.lib glibmm-${GLIBMM_VERSION} xmlpp-${XMLMM_VERSION} gstaudio-0.10.lib gstbase-0.10.lib gstcdda-0.10.lib gstvideo-0.10.lib libmsvcrt.lib )
20+
target_link_libraries(media_player_gtkmm gtkmm-${GTKMM_VERSION} gstreamermm-${GSTREAMERMM_VERSION} sigc-${SIGC_VERSION} glibmm-${GLIBMM_VERSION} xmlpp-${XMLMM_VERSION} gstaudio-1.0 gstbase-1.0 gstvideo-1.0)
2121

2222
install(TARGETS media_player_gtkmm
2323
LIBRARY DESTINATION "lib"

gstreamermm/gstreamer/gstreamermm/CMakeLists.txt

+16-32
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
include_directories(
2-
${GlibEtcInstallRoot}/include/gstreamer-0.10
2+
${GlibEtcInstallRoot}/include/gstreamer-1.0
33
${GlibEtcInstallRoot}/include/libxml2
44
${CMAKE_SOURCE_DIR}/${XMLMM_DIR}
55
${CMAKE_SOURCE_DIR}/${XMLMM_DIR}/${EXTRA}/libxml++
@@ -10,19 +10,23 @@ add_definitions(-DLIBXMLPP_BUILD -DGSTREAMERMM_BUILD -D_WINDLL -DGLIBMM_DLL -DGL
1010

1111
set(GSTREAMERMM_SRCS
1212
adder.cc
13-
alsamixer.cc
13+
allocator.cc
1414
alsasink.cc
1515
alsasrc.cc
16+
appsink.cc
17+
appsrc.cc
18+
audiobasesink.cc
19+
audiobasesrc.cc
1620
audioclock.cc
1721
audioconvert.cc
1822
audiofilter.cc
23+
audioformat.cc
24+
audioinfo.cc
1925
audiorate.cc
20-
audioresample.cc
26+
audioringbuffer.cc
2127
audiosink.cc
2228
audiosrc.cc
2329
audiotestsrc.cc
24-
baseaudiosink.cc
25-
baseaudiosrc.cc
2630
basesink.cc
2731
basesrc.cc
2832
basetransform.cc
@@ -31,16 +35,16 @@ buffer.cc
3135
bufferlist.cc
3236
bus.cc
3337
caps.cc
38+
capsfeatures.cc
3439
capsfilter.cc
35-
cddabasesrc.cc
3640
cdparanoiasrc.cc
3741
childproxy.cc
3842
clock.cc
3943
clockoverlay.cc
4044
colorbalance.cc
4145
colorbalancechannel.cc
46+
context.cc
4247
decodebin.cc
43-
decodebin2.cc
4448
discoverer.cc
4549
discovererinfo.cc
4650
element.cc
@@ -52,34 +56,24 @@ fakesink.cc
5256
fakesrc.cc
5357
fdsink.cc
5458
fdsrc.cc
55-
ffmpegcolorspace.cc
5659
filesink.cc
5760
filesrc.cc
58-
filter.cc
5961
format.cc
6062
funnel.cc
61-
gdpdepay.cc
62-
gdppay.cc
6363
ghostpad.cc
6464
giosink.cc
6565
giosrc.cc
6666
giostreamsink.cc
6767
giostreamsrc.cc
68-
gst_wrap_init.cc
6968
handle_error.cc
7069
identity.cc
71-
index.cc
72-
indexfactory.cc
7370
init.cc
7471
inputselector.cc
75-
interface.cc
7672
iterator.cc
73+
mapinfo.cc
74+
memory.cc
7775
message.cc
7876
miniobject.cc
79-
mixer.cc
80-
mixeroptions.cc
81-
mixertrack.cc
82-
multifdsink.cc
8377
multiqueue.cc
8478
navigation.cc
8579
object.cc
@@ -91,17 +85,15 @@ padtemplate.cc
9185
parse.cc
9286
pipeline.cc
9387
playbin.cc
94-
playbin2.cc
9588
plugin.cc
9689
pluginfeature.cc
9790
preset.cc
98-
propertyprobe.cc
9991
pushsrc.cc
10092
query.cc
10193
queue.cc
10294
queue2.cc
10395
registry.cc
104-
ringbuffer.cc
96+
sample.cc
10597
segment.cc
10698
streamvolume.cc
10799
structure.cc
@@ -113,7 +105,6 @@ task.cc
113105
taskpool.cc
114106
tcpclientsink.cc
115107
tcpclientsrc.cc
116-
tcpserversink.cc
117108
tcpserversrc.cc
118109
tee.cc
119110
textoverlay.cc
@@ -122,9 +113,6 @@ theoradec.cc
122113
theoraenc.cc
123114
theoraparse.cc
124115
timeoverlay.cc
125-
tuner.cc
126-
tunerchannel.cc
127-
tunernorm.cc
128116
typefind.cc
129117
typefindelement.cc
130118
typefindfactory.cc
@@ -134,21 +122,17 @@ valve.cc
134122
value.cc
135123
version.cc
136124
videoorientation.cc
125+
videooverlay.cc
137126
videorate.cc
138127
videoscale.cc
139128
videosink.cc
140129
videotestsrc.cc
141-
volume.cc
142130
vorbisdec.cc
143131
vorbisenc.cc
144132
vorbisparse.cc
145133
vorbistag.cc
146-
wrap.cc
147134
wrap_init.cc
148135
ximagesink.cc
149-
xml.cc
150-
xoverlay.cc
151-
xvimagesink.cc
152136
)
153137

154138
add_library(gstreamermm-${GSTREAMERMM_VERSION} SHARED ${GSTREAMERMM_SRCS} gstreamermm.def)
@@ -160,7 +144,7 @@ add_custom_command(TARGET gstreamermm-${GSTREAMERMM_VERSION} PRE_LINK
160144
COMMAND gendef ${CMAKE_CURRENT_BINARY_DIR}/gstreamermm.def gstreamermm-${GSTREAMERMM_VERSION}${POSTFIX}.dll ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/gstreamermm-${GSTREAMERMM_VERSION}.dir/*.obj
161145
)
162146

163-
target_link_libraries(gstreamermm-${GSTREAMERMM_VERSION} gstreamer-0.10.lib sigc-${SIGC_VERSION} gstinterfaces-0.10.lib glibmm-${GLIBMM_VERSION} xmlpp-${XMLMM_VERSION} gstaudio-0.10.lib gstbase-0.10.lib gstcdda-0.10.lib gstvideo-0.10.lib gstpbutils-0.10.lib) #glibmm-${GLIBMM_VERSION} giomm-${GLIBMM_VERSION}
147+
target_link_libraries(gstreamermm-${GSTREAMERMM_VERSION} gstreamer-1.0 sigc-${SIGC_VERSION} glibmm-${GLIBMM_VERSION} xmlpp-${XMLMM_VERSION} gstaudio-1.0 gstbase-1.0 gstvideo-1.0 gstpbutils-1.0) #glibmm-${GLIBMM_VERSION} giomm-${GLIBMM_VERSION}
164148

165149
install(TARGETS gstreamermm-${GSTREAMERMM_VERSION}
166150
LIBRARY DESTINATION "lib"

macros.cmake

+7
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,10 @@ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
100100
execute_process(COMMAND patch -p0 --binary -i patches\\glibconfig_h.patch
101101
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
102102
endmacro()
103+
104+
macro(GET_VERSION what major minor patch)
105+
string(REGEX REPLACE "[.-]" ";" VERSION_LIST ${what})
106+
list(GET VERSION_LIST 1 ${major})
107+
list(GET VERSION_LIST 2 ${minor})
108+
list(GET VERSION_LIST 3 ${patch})
109+
endmacro()

patches/gstreamer_mp_player_window_cc.patch

+21-17
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,27 @@
1-
--- examples/media_player_gtkmm/player_window.cc.orig 2010-06-06 18:25:32 -0500
2-
+++ examples/media_player_gtkmm/player_window.cc 2011-08-23 12:47:36 -0500
3-
@@ -16,9 +16,10 @@
4-
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
5-
*/
1+
--- examples/media_player_gtkmm/player_window.cc.orig 2014-04-16 13:25:50.000000000 -0500
2+
+++ examples/media_player_gtkmm/player_window.cc 2015-04-25 00:13:22.756528400 -0500
3+
@@ -18,6 +18,7 @@
64

7-
+#include <gstreamermm/bin.h>
85
#include <gtkmm/stock.h>
96
#include <gtkmm/filechooserdialog.h>
10-
-#include <gdk/gdkx.h>
11-
+#include <gdk/win32/gdkwin32.h>
12-
#include <gstreamermm/bus.h>
13-
#include <gstreamermm/caps.h>
14-
#include <gstreamermm/clock.h>
15-
@@ -117,7 +118,7 @@
16-
// When the video area (the drawing area) is realized, Get its X Window
17-
// ID and save it for when the Gst::XOverlay is ready to accept an ID in
18-
// which to draw the video.
19-
- m_x_window_id = GDK_WINDOW_XID(m_video_area.get_window()->gobj());
7+
+#include "player_window.h"
8+
9+
#ifdef GDK_WINDOWING_X11
10+
#include <gdk/gdkx.h>
11+
@@ -40,7 +41,6 @@
12+
#include <iostream>
13+
#include <sstream>
14+
#include <iomanip>
15+
-#include "player_window.h"
16+
17+
PlayerWindow::PlayerWindow(const Glib::RefPtr<Gst::PlayBin>& playbin)
18+
: m_vbox(false, 6),
19+
@@ -131,7 +131,7 @@
20+
m_x_window_id = GDK_WINDOW_XID(m_video_area.get_window()->gobj());
21+
#endif
22+
#ifdef GDK_WINDOWING_WIN32
23+
- m_x_window_id = GDK_WINDOW_HWND(m_video_area.get_window()->gobj());
2024
+ m_x_window_id = (gulong)GDK_WINDOW_HWND(m_video_area.get_window()->gobj());
25+
#endif
2126
}
2227

23-
// This function is used to receive asynchronous messages from mainPipeline's

patches/gstreamermmconfig.h.in

+27
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,35 @@
55

66
#include "glibmmconfig.h"
77

8+
/* Major version of gstreamermm */
89
#define GSTREAMERMM_MAJOR_VERSION @GSTREAMERMM_MAJOR_VERSION@
10+
11+
/* Minor version of gstreamermm */
912
#define GSTREAMERMM_MINOR_VERSION @GSTREAMERMM_MINOR_VERSION@
13+
14+
/* Micro version of gstreamermm */
1015
#define GSTREAMERMM_MICRO_VERSION @GSTREAMERMM_MICRO_VERSION@
1116

17+
/* Define when building gstreamermm as a static library. */
18+
#undef GSTREAMERMM_STATIC_LIB
19+
20+
/* Enable DLL-specific stuff only when not building a static library. */
21+
#if (!defined(GSTREAMERMM_STATIC_LIB) && !defined(__CYGWIN__) && defined(_WIN32))
22+
# define GSTREAMERMM_DLL 1
23+
#endif
24+
25+
#ifdef GSTREAMERMM_DLL
26+
# if defined(GSTREAMERMM_BUILD) && defined(_WINDLL)
27+
/* Do not dllexport as it is handled by gendef on MSVC. */
28+
# define GSTREAMERMM_API
29+
# elif !defined(GSTREAMERMM_BUILD)
30+
# define GSTREAMERMM_API __declspec(dllimport)
31+
# else
32+
/* Build a static library. */
33+
# define GSTREAMERMM_API
34+
# endif /* GSTREAMERMM_BUILD - _WINDLL */
35+
#else
36+
# define GSTREAMERMM_API
37+
#endif /* GSTREAMERMM_DLL */
38+
1239
#endif /* _GSTREAMERMM_CONFIG_H */

0 commit comments

Comments
 (0)