summaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2014-09-29 05:48:44 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2014-10-04 04:25:11 +0200
commitbe2d4815efd7b8312700a426a5cafcd86a93666b (patch)
treeef3c3ed2e3092535fe0e4a14d2834c1ccbd72d19 /recipes-qt/qt5
parent096112d4ab8bad1c45ab0bc40354d9a9bb3e097d (diff)
downloadmeta-qt5-be2d4815efd7b8312700a426a5cafcd86a93666b.tar.gz
qt5: upgrade git recipes to 5.4-alpha1
* introduce 2nd set of qtwayland and qtwebengine recipes, because newer revision isn't compatible with 5.3.2 release Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes-qt/qt5')
-rw-r--r--recipes-qt/qt5/nativesdk-qtbase_git.bb11
-rw-r--r--recipes-qt/qt5/nativesdk-qttools_git.bb7
-rw-r--r--recipes-qt/qt5/qt5-git.inc4
-rw-r--r--recipes-qt/qt5/qtbase-git/0001-Add-linux-oe-g-platform.patch26
-rw-r--r--recipes-qt/qt5/qtbase-git/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch10
-rw-r--r--recipes-qt/qt5/qtbase-git/0003-Add-external-hostbindir-option.patch44
-rw-r--r--recipes-qt/qt5/qtbase-git/0004-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch10
-rw-r--r--recipes-qt/qt5/qtbase-git/0005-qt_module-Fix-pkgconfig-and-libtool-replacements.patch10
-rw-r--r--recipes-qt/qt5/qtbase-git/0006-Revert-eglfs-Print-the-chosen-config-in-debug-mode.patch90
-rw-r--r--recipes-qt/qt5/qtbase-git/0007-qeglplatformintegration-Undefine-CursorShape-from-X..patch12
-rw-r--r--recipes-qt/qt5/qtbase-git/0008-configure-bump-path-length-from-256-to-512-character.patch10
-rw-r--r--recipes-qt/qt5/qtbase-git/0009-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch16
-rw-r--r--recipes-qt/qt5/qtbase-git/0010-QOpenGLPaintDevice-sub-area-support.patch (renamed from recipes-qt/qt5/qtbase-git/0011-QOpenGLPaintDevice-sub-area-support.patch)36
-rw-r--r--recipes-qt/qt5/qtbase-git/0010-Revert-Use-the-gcc-feature-in-simd.prf.patch26
-rw-r--r--recipes-qt/qt5/qtbase-git/0011-Always-build-uic.patch8
-rw-r--r--recipes-qt/qt5/qtbase-git/0011-qmake-don-t-build-it-in-configure-but-allow-to-build.patch8
-rw-r--r--recipes-qt/qt5/qtbase-git/0012-configure-preserve-built-qmake-and-swap-with-native-.patch8
-rw-r--r--recipes-qt/qt5/qtbase-native_git.bb11
-rw-r--r--recipes-qt/qt5/qtbase_git.bb11
-rw-r--r--recipes-qt/qt5/qtconnectivity_git.bb8
-rw-r--r--recipes-qt/qt5/qtdeclarative-git/0001-qmltestexample-fix-link.patch88
-rw-r--r--recipes-qt/qt5/qtdeclarative_git.bb8
-rw-r--r--recipes-qt/qt5/qtenginio_git.bb7
-rw-r--r--recipes-qt/qt5/qtgraphicaleffects_git.bb8
-rw-r--r--recipes-qt/qt5/qtimageformats_git.bb8
-rw-r--r--recipes-qt/qt5/qtlocation_git.bb8
-rw-r--r--recipes-qt/qt5/qtmultimedia-git/0001-Initial-porting-effort-to-GStreamer-1.0.patch2369
-rw-r--r--recipes-qt/qt5/qtmultimedia-git/0002-qtmultimedia.pro-Respect-OE_GSTREAMER_ENABLED-OE_GST.patch53
-rw-r--r--recipes-qt/qt5/qtmultimedia_git.bb8
-rw-r--r--recipes-qt/qt5/qtquick1_git.bb8
-rw-r--r--recipes-qt/qt5/qtquickcontrols_git.bb8
-rw-r--r--recipes-qt/qt5/qtscript_git.bb8
-rw-r--r--recipes-qt/qt5/qtsensors_git.bb8
-rw-r--r--recipes-qt/qt5/qtserialport_git.bb10
-rw-r--r--recipes-qt/qt5/qtsvg_git.bb8
-rw-r--r--recipes-qt/qt5/qtsystems_git.bb2
-rw-r--r--recipes-qt/qt5/qttools-git/0001-Allow-to-build-only-lrelease-lupdate-lconvert.patch29
-rw-r--r--recipes-qt/qt5/qttools-git/0002-assistant-help-fix-linking-of-dependent-libraries.patch6
-rw-r--r--recipes-qt/qt5/qttools-git/0003-add-noqtwebkit-configuration.patch4
-rw-r--r--recipes-qt/qt5/qttools-native_git.bb7
-rw-r--r--recipes-qt/qt5/qttools_git.bb7
-rw-r--r--recipes-qt/qt5/qtwayland-native_5.3.2+git.bb9
-rw-r--r--recipes-qt/qt5/qtwayland-native_git.bb6
-rw-r--r--recipes-qt/qt5/qtwayland.inc2
-rw-r--r--recipes-qt/qt5/qtwayland_5.3.2+git.bb21
-rw-r--r--recipes-qt/qt5/qtwayland_git.bb8
-rw-r--r--recipes-qt/qt5/qtwebengine.inc8
-rw-r--r--recipes-qt/qt5/qtwebengine/0001-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch4
-rw-r--r--recipes-qt/qt5/qtwebengine/0002-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch4
-rw-r--r--recipes-qt/qt5/qtwebengine/0003-functions.prf-Try-to-add-_moc-suffix.patch4
-rw-r--r--recipes-qt/qt5/qtwebengine_5.3.2+git.bb28
-rw-r--r--recipes-qt/qt5/qtwebengine_git.bb7
-rw-r--r--recipes-qt/qt5/qtwebkit-examples_git.bb2
-rw-r--r--recipes-qt/qt5/qtwebkit-git/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch30
-rw-r--r--recipes-qt/qt5/qtwebkit_git.bb4
-rw-r--r--recipes-qt/qt5/qtwebsockets_git.bb2
-rw-r--r--recipes-qt/qt5/qtx11extras_git.bb2
-rw-r--r--recipes-qt/qt5/qtxmlpatterns_git.bb8
58 files changed, 2961 insertions, 216 deletions
diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb
index 4b915398..6de07e06 100644
--- a/recipes-qt/qt5/nativesdk-qtbase_git.bb
+++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb
@@ -19,8 +19,7 @@ SRC_URI += "\
19 file://0007-qeglplatformintegration-Undefine-CursorShape-from-X..patch \ 19 file://0007-qeglplatformintegration-Undefine-CursorShape-from-X..patch \
20 file://0008-configure-bump-path-length-from-256-to-512-character.patch \ 20 file://0008-configure-bump-path-length-from-256-to-512-character.patch \
21 file://0009-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch \ 21 file://0009-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch \
22 file://0010-Revert-Use-the-gcc-feature-in-simd.prf.patch \ 22 file://0010-QOpenGLPaintDevice-sub-area-support.patch \
23 file://0011-QOpenGLPaintDevice-sub-area-support.patch \
24" 23"
25 24
26# common for qtbase-native and nativesdk-qtbase 25# common for qtbase-native and nativesdk-qtbase
@@ -33,4 +32,10 @@ SRC_URI += " \
33 file://0012-configure-preserve-built-qmake-and-swap-with-native-.patch \ 32 file://0012-configure-preserve-built-qmake-and-swap-with-native-.patch \
34" 33"
35 34
36SRCREV = "7a4dcbaabf037a6913a5662ebb74cc47e04673b9" 35SRCREV = "8456adf0eeb9df8dd5f0547d4ad5a81888295f03"
36
37LICENSE = "GFDL-1.3 & LGPL-2.1 | LGPL-3.0"
38LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
39 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
40 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
41 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/nativesdk-qttools_git.bb b/recipes-qt/qt5/nativesdk-qttools_git.bb
index 3d8dfeb5..b3169bc9 100644
--- a/recipes-qt/qt5/nativesdk-qttools_git.bb
+++ b/recipes-qt/qt5/nativesdk-qttools_git.bb
@@ -4,4 +4,9 @@ require ${PN}.inc
4# prepend this again, because ${PN}.inc prepneds ${PN} 4# prepend this again, because ${PN}.inc prepneds ${PN}
5FILESEXTRAPATHS =. "${FILE_DIRNAME}/${BPN}-git:" 5FILESEXTRAPATHS =. "${FILE_DIRNAME}/${BPN}-git:"
6 6
7SRCREV = "aa35d132010f4410d72e30d03e3dd713c7a2241d" 7SRCREV = "a1ca5b48fafc536b619617f8fa6a3e4798283812"
8
9LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
10 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
11 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
12 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qt5-git.inc b/recipes-qt/qt5/qt5-git.inc
index 3e714e0a..36fbaf85 100644
--- a/recipes-qt/qt5/qt5-git.inc
+++ b/recipes-qt/qt5/qt5-git.inc
@@ -1,7 +1,7 @@
1# Copyright (C) 2012 O.S. Systems Software LTDA. 1# Copyright (C) 2012 O.S. Systems Software LTDA.
2# Copyright (C) 2013-2014 Martin Jansa <martin.jansa@gmail.com> 2# Copyright (C) 2013-2014 Martin Jansa <martin.jansa@gmail.com>
3 3
4QT_MODULE_BRANCH ?= "stable" 4QT_MODULE_BRANCH ?= "5.4"
5 5
6# each module needs to define valid SRCREV 6# each module needs to define valid SRCREV
7SRC_URI += " \ 7SRC_URI += " \
@@ -10,7 +10,7 @@ SRC_URI += " \
10 10
11S = "${WORKDIR}/git" 11S = "${WORKDIR}/git"
12 12
13PV = "5.3.0+git${SRCPV}" 13PV = "5.3.99+5.4.0-alpha1+git${SRCPV}"
14 14
15FILESEXTRAPATHS =. "${FILE_DIRNAME}/${BPN}-git:" 15FILESEXTRAPATHS =. "${FILE_DIRNAME}/${BPN}-git:"
16 16
diff --git a/recipes-qt/qt5/qtbase-git/0001-Add-linux-oe-g-platform.patch b/recipes-qt/qt5/qtbase-git/0001-Add-linux-oe-g-platform.patch
index eca6b36d..60a23391 100644
--- a/recipes-qt/qt5/qtbase-git/0001-Add-linux-oe-g-platform.patch
+++ b/recipes-qt/qt5/qtbase-git/0001-Add-linux-oe-g-platform.patch
@@ -1,7 +1,7 @@
1From 9c7d71880c6ec5b07e3030b7c7a23e004d5c60a2 Mon Sep 17 00:00:00 2001 1From 7a573e702d37f3e83b92f6b07345aaab05261e7b Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Mon, 15 Apr 2013 04:29:32 +0200 3Date: Mon, 15 Apr 2013 04:29:32 +0200
4Subject: [PATCH 01/12] Add linux-oe-g++ platform 4Subject: [PATCH 01/11] Add linux-oe-g++ platform
5 5
6* This qmake.conf unlike other platforms reads most variables from 6* This qmake.conf unlike other platforms reads most variables from
7 shell environment, because it's easier for qt recipes to export 7 shell environment, because it's easier for qt recipes to export
@@ -51,10 +51,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
51 create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h 51 create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h
52 52
53diff --git a/configure b/configure 53diff --git a/configure b/configure
54index d5c2b08..4eae0d3 100755 54index 1efb645..b1dfca9 100755
55--- a/configure 55--- a/configure
56+++ b/configure 56+++ b/configure
57@@ -324,6 +324,16 @@ getQMakeConf() 57@@ -316,6 +316,16 @@ getQMakeConf()
58 getSingleQMakeVariable "$1" "$specvals" 58 getSingleQMakeVariable "$1" "$specvals"
59 } 59 }
60 60
@@ -71,7 +71,7 @@ index d5c2b08..4eae0d3 100755
71 getXQMakeConf() 71 getXQMakeConf()
72 { 72 {
73 if [ -z "$xspecvals" ]; then 73 if [ -z "$xspecvals" ]; then
74@@ -333,6 +343,16 @@ getXQMakeConf() 74@@ -325,6 +335,16 @@ getXQMakeConf()
75 getSingleQMakeVariable "$1" "$xspecvals" 75 getSingleQMakeVariable "$1" "$xspecvals"
76 } 76 }
77 77
@@ -88,7 +88,7 @@ index d5c2b08..4eae0d3 100755
88 compilerSupportsFlag() 88 compilerSupportsFlag()
89 { 89 {
90 cat >conftest.cpp <<EOF 90 cat >conftest.cpp <<EOF
91@@ -548,21 +568,19 @@ fi 91@@ -541,21 +561,19 @@ fi
92 # initalize variables 92 # initalize variables
93 #------------------------------------------------------------------------------- 93 #-------------------------------------------------------------------------------
94 94
@@ -118,7 +118,7 @@ index d5c2b08..4eae0d3 100755
118 # Use CC/CXX to run config.tests 118 # Use CC/CXX to run config.tests
119 mkdir -p "$outpath/config.tests" 119 mkdir -p "$outpath/config.tests"
120 rm -f "$outpath/config.tests/.qmake.cache" 120 rm -f "$outpath/config.tests/.qmake.cache"
121@@ -3140,7 +3158,7 @@ if [ "$XPLATFORM_MAC" = "yes" ]; then 121@@ -3141,7 +3159,7 @@ if [ "$XPLATFORM_MAC" = "yes" ]; then
122 [ "$CFG_QGTKSTYLE" = "auto" ] && CFG_QGTKSTYLE=no 122 [ "$CFG_QGTKSTYLE" = "auto" ] && CFG_QGTKSTYLE=no
123 fi 123 fi
124 124
@@ -127,7 +127,7 @@ index d5c2b08..4eae0d3 100755
127 127
128 TEST_COMPILER=$QMAKE_CONF_COMPILER 128 TEST_COMPILER=$QMAKE_CONF_COMPILER
129 129
130@@ -3175,7 +3193,7 @@ if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then 130@@ -3176,7 +3194,7 @@ if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
131 exit 1 131 exit 1
132 fi 132 fi
133 fi 133 fi
@@ -136,7 +136,7 @@ index d5c2b08..4eae0d3 100755
136 136
137 GCC_MACHINE_DUMP= 137 GCC_MACHINE_DUMP=
138 case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac 138 case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac
139@@ -3633,6 +3651,14 @@ setBootstrapVariable() 139@@ -3647,6 +3665,14 @@ setBootstrapVariable()
140 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile" 140 getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
141 } 141 }
142 142
@@ -151,7 +151,7 @@ index d5c2b08..4eae0d3 100755
151 # build qmake 151 # build qmake
152 if true; then ###[ '!' -f "$outpath/bin/qmake" ]; 152 if true; then ###[ '!' -f "$outpath/bin/qmake" ];
153 echo "Creating qmake..." 153 echo "Creating qmake..."
154@@ -3671,14 +3697,14 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; 154@@ -3685,14 +3711,14 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
155 fi 155 fi
156 156
157 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM= 157 [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
@@ -175,7 +175,7 @@ index d5c2b08..4eae0d3 100755
175 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then 175 if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
176 setBootstrapVariable QMAKE_CFLAGS_RELEASE 176 setBootstrapVariable QMAKE_CFLAGS_RELEASE
177diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf 177diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
178index fe41c54..e2db923 100644 178index 05e10c9..213eeb8 100644
179--- a/mkspecs/features/configure.prf 179--- a/mkspecs/features/configure.prf
180+++ b/mkspecs/features/configure.prf 180+++ b/mkspecs/features/configure.prf
181@@ -60,12 +60,12 @@ defineTest(qtCompileTest) { 181@@ -60,12 +60,12 @@ defineTest(qtCompileTest) {
@@ -187,7 +187,7 @@ index fe41c54..e2db923 100644
187 187
188 mkpath($$test_out_dir)|error("Aborting.") 188 mkpath($$test_out_dir)|error("Aborting.")
189 189
190 qtRunLoggedCommand("$$test_cmd_base $$system_quote($$system_path($$QMAKE_QMAKE)) $$qmake_configs $$shell_quote($$test_dir)") { 190 qtRunLoggedCommand("$$test_cmd_base $$system_quote($$system_path($$QMAKE_QMAKE)) -spec $$QMAKESPEC $$qmake_configs $$shell_quote($$test_dir)") {
191- qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE") { 191- qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE") {
192+ qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS)") { 192+ qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS)") {
193 log("yes$$escape_expand(\\n)") 193 log("yes$$escape_expand(\\n)")
@@ -346,5 +346,5 @@ index 0000000..dd12003
346+ 346+
347+#endif // QPLATFORMDEFS_H 347+#endif // QPLATFORMDEFS_H
348-- 348--
3492.0.0 3492.1.1
350 350
diff --git a/recipes-qt/qt5/qtbase-git/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch b/recipes-qt/qt5/qtbase-git/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
index 29f788e7..06331aa7 100644
--- a/recipes-qt/qt5/qtbase-git/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
+++ b/recipes-qt/qt5/qtbase-git/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
@@ -1,7 +1,7 @@
1From ad884ab378939e685a3b00af03bb6875d9bdc1d5 Mon Sep 17 00:00:00 2001 1From e521cd2d84acad69fb3d57a5e97073898d03fbf0 Mon Sep 17 00:00:00 2001
2From: Holger Freyther <zecke@selfish.org> 2From: Holger Freyther <zecke@selfish.org>
3Date: Wed, 26 Sep 2012 17:22:30 +0200 3Date: Wed, 26 Sep 2012 17:22:30 +0200
4Subject: [PATCH 02/12] qlibraryinfo: allow to set qt.conf from the outside 4Subject: [PATCH 02/11] qlibraryinfo: allow to set qt.conf from the outside
5 using the environment 5 using the environment
6 6
7Allow to set a qt.conf from the outside using the environment. This allows 7Allow to set a qt.conf from the outside using the environment. This allows
@@ -19,10 +19,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
19 1 file changed, 4 insertions(+), 1 deletion(-) 19 1 file changed, 4 insertions(+), 1 deletion(-)
20 20
21diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp 21diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
22index 6d25325..80e0f30 100644 22index c3ec2bc..1be2659 100644
23--- a/src/corelib/global/qlibraryinfo.cpp 23--- a/src/corelib/global/qlibraryinfo.cpp
24+++ b/src/corelib/global/qlibraryinfo.cpp 24+++ b/src/corelib/global/qlibraryinfo.cpp
25@@ -153,7 +153,10 @@ QLibrarySettings::QLibrarySettings() 25@@ -147,7 +147,10 @@ QLibrarySettings::QLibrarySettings()
26 26
27 QSettings *QLibraryInfoPrivate::findConfiguration() 27 QSettings *QLibraryInfoPrivate::findConfiguration()
28 { 28 {
@@ -35,5 +35,5 @@ index 6d25325..80e0f30 100644
35 if(!QFile::exists(qtconfig)) 35 if(!QFile::exists(qtconfig))
36 qtconfig = qt_libraryInfoFile(); 36 qtconfig = qt_libraryInfoFile();
37-- 37--
382.0.0 382.1.1
39 39
diff --git a/recipes-qt/qt5/qtbase-git/0003-Add-external-hostbindir-option.patch b/recipes-qt/qt5/qtbase-git/0003-Add-external-hostbindir-option.patch
index 2abea8fc..88bb4841 100644
--- a/recipes-qt/qt5/qtbase-git/0003-Add-external-hostbindir-option.patch
+++ b/recipes-qt/qt5/qtbase-git/0003-Add-external-hostbindir-option.patch
@@ -1,7 +1,7 @@
1From b544f5f3462e2981ada045a32038b7f116f8590c Mon Sep 17 00:00:00 2001 1From 735d4f58381452854ed7b0c2f762030d747098e1 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sat, 6 Apr 2013 13:15:07 +0200 3Date: Sat, 6 Apr 2013 13:15:07 +0200
4Subject: [PATCH 03/12] Add -external-hostbindir option 4Subject: [PATCH 03/11] Add -external-hostbindir option
5 5
6* when cross-compiling it's sometimes useful to use existing tools from machine 6* when cross-compiling it's sometimes useful to use existing tools from machine
7 (or in OpenEmbedded built with separate native recipe) when building for target 7 (or in OpenEmbedded built with separate native recipe) when building for target
@@ -38,10 +38,10 @@ Signed-off-by: Jonathan Liu <net147@gmail.com>
38 11 files changed, 51 insertions(+), 13 deletions(-) 38 11 files changed, 51 insertions(+), 13 deletions(-)
39 39
40diff --git a/configure b/configure 40diff --git a/configure b/configure
41index d5c2b08..dcd066c 100755 41index b1dfca9..dcd1790 100755
42--- a/configure 42--- a/configure
43+++ b/configure 43+++ b/configure
44@@ -759,6 +759,7 @@ QT_HOST_BINS= 44@@ -768,6 +768,7 @@ QT_HOST_BINS=
45 QT_HOST_LIBS= 45 QT_HOST_LIBS=
46 QT_HOST_DATA= 46 QT_HOST_DATA=
47 QT_EXT_PREFIX= 47 QT_EXT_PREFIX=
@@ -49,7 +49,7 @@ index d5c2b08..dcd066c 100755
49 49
50 #flags for SQL drivers 50 #flags for SQL drivers
51 QT_CFLAGS_PSQL= 51 QT_CFLAGS_PSQL=
52@@ -878,6 +879,7 @@ while [ "$#" -gt 0 ]; do 52@@ -887,6 +888,7 @@ while [ "$#" -gt 0 ]; do
53 -testsdir| \ 53 -testsdir| \
54 -hostdatadir| \ 54 -hostdatadir| \
55 -hostbindir| \ 55 -hostbindir| \
@@ -57,7 +57,7 @@ index d5c2b08..dcd066c 100755
57 -hostlibdir| \ 57 -hostlibdir| \
58 -extprefix| \ 58 -extprefix| \
59 -sysroot| \ 59 -sysroot| \
60@@ -1092,6 +1094,9 @@ while [ "$#" -gt 0 ]; do 60@@ -1101,6 +1103,9 @@ while [ "$#" -gt 0 ]; do
61 extprefix) 61 extprefix)
62 QT_EXT_PREFIX="$VAL" 62 QT_EXT_PREFIX="$VAL"
63 ;; 63 ;;
@@ -67,7 +67,7 @@ index d5c2b08..dcd066c 100755
67 pkg-config) 67 pkg-config)
68 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then 68 if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
69 CFG_PKGCONFIG="$VAL" 69 CFG_PKGCONFIG="$VAL"
70@@ -2230,6 +2235,10 @@ Installation options: 70@@ -2252,6 +2257,10 @@ Installation options:
71 -hostdatadir <dir> . Data used by qmake will be installed to <dir> 71 -hostdatadir <dir> . Data used by qmake will be installed to <dir>
72 (default HOSTPREFIX) 72 (default HOSTPREFIX)
73 73
@@ -78,7 +78,7 @@ index d5c2b08..dcd066c 100755
78 Configure options: 78 Configure options:
79 79
80 The defaults (*) are usually acceptable. A plus (+) denotes a default value 80 The defaults (*) are usually acceptable. A plus (+) denotes a default value
81@@ -2897,6 +2906,11 @@ fi 81@@ -2916,6 +2925,11 @@ fi
82 # command line and environment validation 82 # command line and environment validation
83 #------------------------------------------------------------------------------- 83 #-------------------------------------------------------------------------------
84 84
@@ -90,7 +90,7 @@ index d5c2b08..dcd066c 100755
90 # update QT_CONFIG to show our current predefined configuration 90 # update QT_CONFIG to show our current predefined configuration
91 CFG_QCONFIG_PATH=$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h 91 CFG_QCONFIG_PATH=$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h
92 case "$CFG_QCONFIG" in 92 case "$CFG_QCONFIG" in
93@@ -3577,6 +3591,7 @@ static const char qt_configure_prefix_path_strs[][256 + 12] = { 93@@ -3609,6 +3623,7 @@ static const char qt_configure_prefix_path_strs[][256 + 12] = {
94 "qt_hbinpath=$QT_HOST_BINS", 94 "qt_hbinpath=$QT_HOST_BINS",
95 "qt_hlibpath=$QT_HOST_LIBS", 95 "qt_hlibpath=$QT_HOST_LIBS",
96 "qt_hdatpath=$QT_HOST_DATA", 96 "qt_hdatpath=$QT_HOST_DATA",
@@ -99,10 +99,10 @@ index d5c2b08..dcd066c 100755
99 "qt_hostspec=$shortspec", 99 "qt_hostspec=$shortspec",
100 #endif 100 #endif
101diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf 101diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
102index 9a4d80e..dfc1cff 100644 102index 709248a..ea2fed0 100644
103--- a/mkspecs/features/qt_functions.prf 103--- a/mkspecs/features/qt_functions.prf
104+++ b/mkspecs/features/qt_functions.prf 104+++ b/mkspecs/features/qt_functions.prf
105@@ -193,7 +193,11 @@ defineTest(qtAddRpathLink) { 105@@ -191,7 +191,11 @@ defineTest(qtAddRpathLink) {
106 defineTest(qtPrepareTool) { 106 defineTest(qtPrepareTool) {
107 cmd = $$eval(QT_TOOL.$${2}.binary) 107 cmd = $$eval(QT_TOOL.$${2}.binary)
108 isEmpty(cmd) { 108 isEmpty(cmd) {
@@ -134,10 +134,10 @@ index 1d3e88c..9b26adf 100644
134 134
135 !host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, _private) 135 !host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, _private)
136diff --git a/qmake/property.cpp b/qmake/property.cpp 136diff --git a/qmake/property.cpp b/qmake/property.cpp
137index e50485c..71291ad 100644 137index 051e056..50da6ed 100644
138--- a/qmake/property.cpp 138--- a/qmake/property.cpp
139+++ b/qmake/property.cpp 139+++ b/qmake/property.cpp
140@@ -75,6 +75,7 @@ static const struct { 140@@ -67,6 +67,7 @@ static const struct {
141 { "QT_HOST_DATA", QLibraryInfo::HostDataPath, true }, 141 { "QT_HOST_DATA", QLibraryInfo::HostDataPath, true },
142 { "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true }, 142 { "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true },
143 { "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true }, 143 { "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true },
@@ -211,10 +211,10 @@ index 9bda70e..6e3605a 100644
211 _qt5_Core_check_file_exists(${imported_location}) 211 _qt5_Core_check_file_exists(${imported_location})
212 212
213diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp 213diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
214index 174c1d0..1fe03cb 100644 214index 1be2659..6c3718a 100644
215--- a/src/corelib/global/qlibraryinfo.cpp 215--- a/src/corelib/global/qlibraryinfo.cpp
216+++ b/src/corelib/global/qlibraryinfo.cpp 216+++ b/src/corelib/global/qlibraryinfo.cpp
217@@ -333,7 +333,7 @@ QLibraryInfo::isDebugBuild() 217@@ -357,7 +357,7 @@ QLibraryInfo::isDebugBuild()
218 */ 218 */
219 219
220 static const struct { 220 static const struct {
@@ -223,7 +223,7 @@ index 174c1d0..1fe03cb 100644
223 } qtConfEntries[] = { 223 } qtConfEntries[] = {
224 { "Prefix", "." }, 224 { "Prefix", "." },
225 { "Documentation", "doc" }, // should be ${Data}/doc 225 { "Documentation", "doc" }, // should be ${Data}/doc
226@@ -359,6 +359,7 @@ static const struct { 226@@ -383,6 +383,7 @@ static const struct {
227 { "HostBinaries", "bin" }, 227 { "HostBinaries", "bin" },
228 { "HostLibraries", "lib" }, 228 { "HostLibraries", "lib" },
229 { "HostData", "." }, 229 { "HostData", "." },
@@ -232,10 +232,10 @@ index 174c1d0..1fe03cb 100644
232 { "HostSpec", "" }, 232 { "HostSpec", "" },
233 #endif 233 #endif
234diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h 234diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h
235index 0b573c2..b5535ee 100644 235index 543c4b3..a02e03a 100644
236--- a/src/corelib/global/qlibraryinfo.h 236--- a/src/corelib/global/qlibraryinfo.h
237+++ b/src/corelib/global/qlibraryinfo.h 237+++ b/src/corelib/global/qlibraryinfo.h
238@@ -88,6 +88,7 @@ public: 238@@ -80,6 +80,7 @@ public:
239 HostBinariesPath, 239 HostBinariesPath,
240 HostLibrariesPath, 240 HostLibrariesPath,
241 HostDataPath, 241 HostDataPath,
@@ -279,10 +279,10 @@ index 99d87e2..5621dc0 100644
279 _qt5_Widgets_check_file_exists(${imported_location}) 279 _qt5_Widgets_check_file_exists(${imported_location})
280 280
281diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp 281diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
282index b756509..7e61845 100644 282index ef71097..7969132 100644
283--- a/tools/configure/configureapp.cpp 283--- a/tools/configure/configureapp.cpp
284+++ b/tools/configure/configureapp.cpp 284+++ b/tools/configure/configureapp.cpp
285@@ -1213,6 +1213,13 @@ void Configure::parseCmdLine() 285@@ -1191,6 +1191,13 @@ void Configure::parseCmdLine()
286 dictionary[ "QT_EXT_PREFIX" ] = configCmdLine.at(i); 286 dictionary[ "QT_EXT_PREFIX" ] = configCmdLine.at(i);
287 } 287 }
288 288
@@ -296,7 +296,7 @@ index b756509..7e61845 100644
296 else if (configCmdLine.at(i) == "-make-tool") { 296 else if (configCmdLine.at(i) == "-make-tool") {
297 ++i; 297 ++i;
298 if (i == argCount) 298 if (i == argCount)
299@@ -3983,6 +3990,7 @@ void Configure::generateQConfigCpp() 299@@ -3984,6 +3991,7 @@ void Configure::generateQConfigCpp()
300 << " \"qt_hbinpath=" << formatPath(dictionary["QT_HOST_BINS"]) << "\"," << endl 300 << " \"qt_hbinpath=" << formatPath(dictionary["QT_HOST_BINS"]) << "\"," << endl
301 << " \"qt_hlibpath=" << formatPath(dictionary["QT_HOST_LIBS"]) << "\"," << endl 301 << " \"qt_hlibpath=" << formatPath(dictionary["QT_HOST_LIBS"]) << "\"," << endl
302 << " \"qt_hdatpath=" << formatPath(dictionary["QT_HOST_DATA"]) << "\"," << endl 302 << " \"qt_hdatpath=" << formatPath(dictionary["QT_HOST_DATA"]) << "\"," << endl
@@ -305,5 +305,5 @@ index b756509..7e61845 100644
305 << " \"qt_hostspec=" << hostSpec << "\"," << endl 305 << " \"qt_hostspec=" << hostSpec << "\"," << endl
306 << "#endif" << endl 306 << "#endif" << endl
307-- 307--
3082.0.1 3082.1.1
309 309
diff --git a/recipes-qt/qt5/qtbase-git/0004-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch b/recipes-qt/qt5/qtbase-git/0004-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch
index 78fb3c66..b7e515a4 100644
--- a/recipes-qt/qt5/qtbase-git/0004-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch
+++ b/recipes-qt/qt5/qtbase-git/0004-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch
@@ -1,7 +1,7 @@
1From 8a14a69d5b0078554ed002e682c72e995b1e6320 Mon Sep 17 00:00:00 2001 1From 73d7d25b8a424eecef197de60a3a504e163f0816 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sat, 27 Apr 2013 22:33:33 +0200 3Date: Sat, 27 Apr 2013 22:33:33 +0200
4Subject: [PATCH 04/12] configureapp: Prefix default LIBDIRS and INCDIRS with 4Subject: [PATCH 04/11] configureapp: Prefix default LIBDIRS and INCDIRS with
5 SYSROOT 5 SYSROOT
6 6
7Upstream-Status: Pending 7Upstream-Status: Pending
@@ -11,10 +11,10 @@ Upstream-Status: Pending
11 1 file changed, 2 insertions(+), 2 deletions(-) 11 1 file changed, 2 insertions(+), 2 deletions(-)
12 12
13diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp 13diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
14index 7e61845..29c6358 100644 14index 7969132..439dcfb 100644
15--- a/tools/configure/configureapp.cpp 15--- a/tools/configure/configureapp.cpp
16+++ b/tools/configure/configureapp.cpp 16+++ b/tools/configure/configureapp.cpp
17@@ -3370,8 +3370,8 @@ void Configure::generateQConfigPri() 17@@ -3373,8 +3373,8 @@ void Configure::generateQConfigPri()
18 configStream << " QT_ARCH = " << dictionary["QT_ARCH"] << endl; 18 configStream << " QT_ARCH = " << dictionary["QT_ARCH"] << endl;
19 if (dictionary.contains("XQMAKESPEC") && !dictionary["XQMAKESPEC"].startsWith("wince")) { 19 if (dictionary.contains("XQMAKESPEC") && !dictionary["XQMAKESPEC"].startsWith("wince")) {
20 // FIXME: add detection 20 // FIXME: add detection
@@ -26,5 +26,5 @@ index 7e61845..29c6358 100644
26 configStream << "}" << endl; 26 configStream << "}" << endl;
27 configStream << "QT_CONFIG += " << qtConfig.join(' ') << endl; 27 configStream << "QT_CONFIG += " << qtConfig.join(' ') << endl;
28-- 28--
292.0.0 292.1.1
30 30
diff --git a/recipes-qt/qt5/qtbase-git/0005-qt_module-Fix-pkgconfig-and-libtool-replacements.patch b/recipes-qt/qt5/qtbase-git/0005-qt_module-Fix-pkgconfig-and-libtool-replacements.patch
index 182de79d..d1ec16ce 100644
--- a/recipes-qt/qt5/qtbase-git/0005-qt_module-Fix-pkgconfig-and-libtool-replacements.patch
+++ b/recipes-qt/qt5/qtbase-git/0005-qt_module-Fix-pkgconfig-and-libtool-replacements.patch
@@ -1,7 +1,7 @@
1From 1e87c127c5d268870c51894c955bf24cde83ff69 Mon Sep 17 00:00:00 2001 1From fcbe3eefa24348cbf98ca9fc9e137ac6ccaf1f87 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sat, 27 Apr 2013 23:15:37 +0200 3Date: Sat, 27 Apr 2013 23:15:37 +0200
4Subject: [PATCH 05/12] qt_module: Fix pkgconfig and libtool replacements 4Subject: [PATCH 05/11] qt_module: Fix pkgconfig and libtool replacements
5MIME-Version: 1.0 5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8 6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit 7Content-Transfer-Encoding: 8bit
@@ -67,7 +67,7 @@ Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
67 2 files changed, 16 insertions(+), 1 deletion(-) 67 2 files changed, 16 insertions(+), 1 deletion(-)
68 68
69diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf 69diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
70index 4dcabe9..d04bc3e 100644 70index ebc5f00..46319d8 100644
71--- a/mkspecs/features/qt_common.prf 71--- a/mkspecs/features/qt_common.prf
72+++ b/mkspecs/features/qt_common.prf 72+++ b/mkspecs/features/qt_common.prf
73@@ -33,7 +33,7 @@ contains(TEMPLATE, .*lib) { 73@@ -33,7 +33,7 @@ contains(TEMPLATE, .*lib) {
@@ -80,7 +80,7 @@ index 4dcabe9..d04bc3e 100644
80 lib_replace.CONFIG = path 80 lib_replace.CONFIG = path
81 QMAKE_PRL_INSTALL_REPLACE += lib_replace 81 QMAKE_PRL_INSTALL_REPLACE += lib_replace
82diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf 82diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
83index 8bf4c92..ee2e989 100644 83index 6ab8267..2b4943c 100644
84--- a/mkspecs/features/qt_module.prf 84--- a/mkspecs/features/qt_module.prf
85+++ b/mkspecs/features/qt_module.prf 85+++ b/mkspecs/features/qt_module.prf
86@@ -188,10 +188,25 @@ unix|mingw { 86@@ -188,10 +188,25 @@ unix|mingw {
@@ -110,5 +110,5 @@ index 8bf4c92..ee2e989 100644
110 } 110 }
111 111
112-- 112--
1132.0.0 1132.1.1
114 114
diff --git a/recipes-qt/qt5/qtbase-git/0006-Revert-eglfs-Print-the-chosen-config-in-debug-mode.patch b/recipes-qt/qt5/qtbase-git/0006-Revert-eglfs-Print-the-chosen-config-in-debug-mode.patch
index 0e3bc99e..13248024 100644
--- a/recipes-qt/qt5/qtbase-git/0006-Revert-eglfs-Print-the-chosen-config-in-debug-mode.patch
+++ b/recipes-qt/qt5/qtbase-git/0006-Revert-eglfs-Print-the-chosen-config-in-debug-mode.patch
@@ -1,19 +1,57 @@
1From ca212fd10a95b2c694f3c89c3f22a2b0ae185198 Mon Sep 17 00:00:00 2001 1From 285b31f709a81b7e51b5c3d96061fa731cdfdf7d Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Mon, 21 Apr 2014 19:22:04 +0200 3Date: Mon, 21 Apr 2014 19:22:04 +0200
4Subject: [PATCH 06/12] Revert "eglfs: Print the chosen config in debug mode" 4Subject: [PATCH 06/11] Revert "eglfs: Print the chosen config in debug mode"
5
6With this change the build is failing with:
7| In file included from /OE/build/oe-core/tmp-glibc/sysroots/qemux86-64/usr/include/EGL/eglplatform.h:118:0,
8| from /OE/build/oe-core/tmp-glibc/sysroots/qemux86-64/usr/include/EGL/egl.h:36,
9| from /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/qtbase/5.3.0+5.4.0-alpha1+gitAUTOINC+8456adf0ee-r0/git/src/platformsupport/eglconvenience/qeglplatformcontext_p.h:51,
10| from /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/qtbase/5.3.0+5.4.0-alpha1+gitAUTOINC+8456adf0ee-r0/git/src/platformsupport/eglconvenience/qeglplatformcontext.cpp:34:
11| ../../include/QtCore/../../../git/src/corelib/io/qtextstream.h:72:10: error: expected identifier before 'int'
12| enum Status {
13| ^
14| In file included from ../../include/QtCore/qtextstream.h:1:0,
15| from ../../include/QtCore/../../../git/src/corelib/io/qdebug.h:42,
16| from ../../include/QtCore/qdebug.h:1,
17| from ../../include/QtCore/QDebug:1,
18| from /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/qtbase/5.3.0+5.4.0-alpha1+gitAUTOINC+8456adf0ee-r0/git/src/platformsupport/eglconvenience/qeglplatformcontext.cpp:40:
19| ../../include/QtCore/../../../git/src/corelib/io/qtextstream.h:72:17: error: expected unqualified-id before '{' token
20| enum Status {
21| ^
22| Makefile:3896: recipe for target '.obj/qeglplatformcontext.o' failed
23| make[2]: *** [.obj/qeglplatformcontext.o] Error 1
24| make[2]: *** Waiting for unfinished jobs....
25| /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/qtbase/5.3.0+5.4.0-alpha1+gitAUTOINC+8456adf0ee-r0/git/src/platformsupport/eglconvenience/qeglplatformintegration.cpp:196:5: error: 'Display' redeclared as different kind of symbol
26| Display
27| ^
28| In file included from /OE/build/oe-core/tmp-glibc/sysroots/qemux86-64/usr/include/EGL/eglplatform.h:118:0,
29| from /OE/build/oe-core/tmp-glibc/sysroots/qemux86-64/usr/include/EGL/egl.h:36,
30| from /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/qtbase/5.3.0+5.4.0-alpha1+gitAUTOINC+8456adf0ee-r0/git/src/platformsupport/eglconvenience/qeglplatformintegration_p.h:51,
31| from /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/qtbase/5.3.0+5.4.0-alpha1+gitAUTOINC+8456adf0ee-r0/git/src/platformsupport/eglconvenience/qeglplatformintegration.cpp:55:
32| /OE/build/oe-core/tmp-glibc/sysroots/qemux86-64/usr/include/X11/Xlib.h:499:26: note: previous declaration 'typedef struct _XDisplay Display'
33| typedef struct _XDisplay Display;
34| ^
35| /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/qtbase/5.3.0+5.4.0-alpha1+gitAUTOINC+8456adf0ee-r0/git/src/platformsupport/eglconvenience/qeglplatformintegration.cpp: In member function 'virtual void* QEGLPlatformIntegration::nativeResourceForScreen(const QByteArray&, QScreen*)':
36| /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/qtbase/5.3.0+5.4.0-alpha1+gitAUTOINC+8456adf0ee-r0/git/src/platformsupport/eglconvenience/qeglplatformintegration.cpp:239:17: error: expected primary-expression before ':' token
37| case Display:
38| ^
39| Makefile:5486: recipe for target '.obj/qeglplatformintegration.o' failed
5 40
6This reverts commit dc685cf6331f5fb46285cf10d6464c2ecf41f73e. 41This reverts commit dc685cf6331f5fb46285cf10d6464c2ecf41f73e.
42
43Change-Id: I7a6a926b7525d4f137824c71f2ec8cd089c21f13
7--- 44---
8 src/platformsupport/eglconvenience/qeglconvenience.cpp | 4 +++- 45 src/platformsupport/eglconvenience/qeglconvenience.cpp | 4 +++-
9 src/platformsupport/eglconvenience/qeglplatformcontext.cpp | 7 ------- 46 src/platformsupport/eglconvenience/qeglplatformcontext.cpp | 7 -------
10 2 files changed, 3 insertions(+), 8 deletions(-) 47 src/platformsupport/eglconvenience/qeglplatformintegration.cpp | 4 ++--
48 3 files changed, 5 insertions(+), 10 deletions(-)
11 49
12diff --git a/src/platformsupport/eglconvenience/qeglconvenience.cpp b/src/platformsupport/eglconvenience/qeglconvenience.cpp 50diff --git a/src/platformsupport/eglconvenience/qeglconvenience.cpp b/src/platformsupport/eglconvenience/qeglconvenience.cpp
13index 5eed470..39c7c1f 100644 51index b7ce6df..e8c1925 100644
14--- a/src/platformsupport/eglconvenience/qeglconvenience.cpp 52--- a/src/platformsupport/eglconvenience/qeglconvenience.cpp
15+++ b/src/platformsupport/eglconvenience/qeglconvenience.cpp 53+++ b/src/platformsupport/eglconvenience/qeglconvenience.cpp
16@@ -451,9 +451,11 @@ void q_printEglConfig(EGLDisplay display, EGLConfig config) 54@@ -443,9 +443,11 @@ void q_printEglConfig(EGLDisplay display, EGLConfig config)
17 for (index = 0; attrs[index].attr != -1; ++index) { 55 for (index = 0; attrs[index].attr != -1; ++index) {
18 EGLint value; 56 EGLint value;
19 if (eglGetConfigAttrib(display, config, attrs[index].attr, &value)) { 57 if (eglGetConfigAttrib(display, config, attrs[index].attr, &value)) {
@@ -27,18 +65,18 @@ index 5eed470..39c7c1f 100644
27 65
28 #ifdef Q_OS_LINUX 66 #ifdef Q_OS_LINUX
29diff --git a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp 67diff --git a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
30index eec6463..4a7c69b 100644 68index 7cc3300..ccbd974 100644
31--- a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp 69--- a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
32+++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp 70+++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
33@@ -44,7 +44,6 @@ 71@@ -37,7 +37,6 @@
34 #include "qeglpbuffer_p.h"
35 #include <qpa/qplatformwindow.h> 72 #include <qpa/qplatformwindow.h>
36 #include <QOpenGLContext> 73 #include <QOpenGLContext>
74 #include <QtPlatformHeaders/QEGLNativeContext>
37-#include <QDebug> 75-#include <QDebug>
38 76
39 QT_BEGIN_NAMESPACE 77 QT_BEGIN_NAMESPACE
40 78
41@@ -192,12 +191,6 @@ void QEGLPlatformContext::init(const QSurfaceFormat &format, QPlatformOpenGLCont 79@@ -181,12 +180,6 @@ void QEGLPlatformContext::init(const QSurfaceFormat &format, QPlatformOpenGLCont
42 return; 80 return;
43 } 81 }
44 82
@@ -48,9 +86,31 @@ index eec6463..4a7c69b 100644
48- q_printEglConfig(m_eglDisplay, m_eglConfig); 86- q_printEglConfig(m_eglDisplay, m_eglConfig);
49- } 87- }
50- 88-
51 #ifndef QT_NO_OPENGL 89 updateFormatFromGL();
52 // Make the context current to ensure the GL version query works. This needs a surface too. 90 }
53 const EGLint pbufferAttributes[] = { 91
92diff --git a/src/platformsupport/eglconvenience/qeglplatformintegration.cpp b/src/platformsupport/eglconvenience/qeglplatformintegration.cpp
93index b8205dc..6005684 100644
94--- a/src/platformsupport/eglconvenience/qeglplatformintegration.cpp
95+++ b/src/platformsupport/eglconvenience/qeglplatformintegration.cpp
96@@ -193,7 +193,7 @@ enum ResourceType {
97 EglContext,
98 EglConfig,
99 NativeDisplay,
100- Display
101+ XDisplay
102 };
103
104 static int resourceType(const QByteArray &key)
105@@ -236,7 +236,7 @@ void *QEGLPlatformIntegration::nativeResourceForScreen(const QByteArray &resourc
106 void *result = 0;
107
108 switch (resourceType(resource)) {
109- case Display:
110+ case XDisplay:
111 // Play nice when using the x11 hooks: Be compatible with xcb that allows querying
112 // the X Display pointer, which is nothing but our native display.
113 result = reinterpret_cast<void*>(nativeDisplay());
54-- 114--
552.0.0 1152.1.1
56 116
diff --git a/recipes-qt/qt5/qtbase-git/0007-qeglplatformintegration-Undefine-CursorShape-from-X..patch b/recipes-qt/qt5/qtbase-git/0007-qeglplatformintegration-Undefine-CursorShape-from-X..patch
index 1f029a28..8f469103 100644
--- a/recipes-qt/qt5/qtbase-git/0007-qeglplatformintegration-Undefine-CursorShape-from-X..patch
+++ b/recipes-qt/qt5/qtbase-git/0007-qeglplatformintegration-Undefine-CursorShape-from-X..patch
@@ -1,7 +1,7 @@
1From 3d61189d1706d3367eada4e7db6f2c6c167130ce Mon Sep 17 00:00:00 2001 1From 9563ef306503f2503a09aadce63020b3048a185d Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Wed, 19 Mar 2014 18:32:28 +0100 3Date: Wed, 19 Mar 2014 18:32:28 +0100
4Subject: [PATCH 07/12] qeglplatformintegration: Undefine CursorShape from X.h 4Subject: [PATCH 07/11] qeglplatformintegration: Undefine CursorShape from X.h
5 5
6Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 6Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
7--- 7---
@@ -9,11 +9,11 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
9 1 file changed, 6 insertions(+) 9 1 file changed, 6 insertions(+)
10 10
11diff --git a/src/platformsupport/eglconvenience/qeglplatformintegration_p.h b/src/platformsupport/eglconvenience/qeglplatformintegration_p.h 11diff --git a/src/platformsupport/eglconvenience/qeglplatformintegration_p.h b/src/platformsupport/eglconvenience/qeglplatformintegration_p.h
12index f665455..9eb783c 100644 12index 4d7adce..c9b6873 100644
13--- a/src/platformsupport/eglconvenience/qeglplatformintegration_p.h 13--- a/src/platformsupport/eglconvenience/qeglplatformintegration_p.h
14+++ b/src/platformsupport/eglconvenience/qeglplatformintegration_p.h 14+++ b/src/platformsupport/eglconvenience/qeglplatformintegration_p.h
15@@ -46,6 +46,12 @@ 15@@ -50,6 +50,12 @@
16 #include <qpa/qplatformnativeinterface.h> 16 #include <QtCore/QVariant>
17 #include <EGL/egl.h> 17 #include <EGL/egl.h>
18 18
19+// Undefine CursorShape from X.h, which is causing breakage in Qt::CursorShape in platformsupport/eglconvenience/ 19+// Undefine CursorShape from X.h, which is causing breakage in Qt::CursorShape in platformsupport/eglconvenience/
@@ -26,5 +26,5 @@ index f665455..9eb783c 100644
26 26
27 class QEGLPlatformScreen; 27 class QEGLPlatformScreen;
28-- 28--
292.0.0 292.1.1
30 30
diff --git a/recipes-qt/qt5/qtbase-git/0008-configure-bump-path-length-from-256-to-512-character.patch b/recipes-qt/qt5/qtbase-git/0008-configure-bump-path-length-from-256-to-512-character.patch
index b1c4690b..afe9b743 100644
--- a/recipes-qt/qt5/qtbase-git/0008-configure-bump-path-length-from-256-to-512-character.patch
+++ b/recipes-qt/qt5/qtbase-git/0008-configure-bump-path-length-from-256-to-512-character.patch
@@ -1,7 +1,7 @@
1From 107fe67947ced65315550e6a7795be24efaab371 Mon Sep 17 00:00:00 2001 1From 33d46bd0229ff9635c14724231eb95f556afd5c2 Mon Sep 17 00:00:00 2001
2From: Denys Dmytriyenko <denys@ti.com> 2From: Denys Dmytriyenko <denys@ti.com>
3Date: Mon, 11 Nov 2013 20:27:30 -0500 3Date: Mon, 11 Nov 2013 20:27:30 -0500
4Subject: [PATCH 08/12] configure: bump path length from 256 to 512 characters 4Subject: [PATCH 08/11] configure: bump path length from 256 to 512 characters
5 5
6Increase the path length that gets hardcoded into generated config.cpp file 6Increase the path length that gets hardcoded into generated config.cpp file
7from 256 to 512 characters, as nativesdk path can be quite long. 7from 256 to 512 characters, as nativesdk path can be quite long.
@@ -12,10 +12,10 @@ Signed-off-by: Denys Dmytriyenko <denys@ti.com>
12 1 file changed, 1 insertion(+), 1 deletion(-) 12 1 file changed, 1 insertion(+), 1 deletion(-)
13 13
14diff --git a/configure b/configure 14diff --git a/configure b/configure
15index 48d5119..3c0347a 100755 15index dcd1790..fe6bed4 100755
16--- a/configure 16--- a/configure
17+++ b/configure 17+++ b/configure
18@@ -3573,7 +3573,7 @@ static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$ 18@@ -3587,7 +3587,7 @@ static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$
19 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`"; 19 static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`";
20 20
21 /* Installation Info */ 21 /* Installation Info */
@@ -25,5 +25,5 @@ index 48d5119..3c0347a 100755
25 "qt_prfxpath=$QT_SYSROOT_PREFIX", 25 "qt_prfxpath=$QT_SYSROOT_PREFIX",
26 "qt_docspath=$QT_SYSROOT_DOCS", 26 "qt_docspath=$QT_SYSROOT_DOCS",
27-- 27--
282.0.0 282.1.1
29 29
diff --git a/recipes-qt/qt5/qtbase-git/0009-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch b/recipes-qt/qt5/qtbase-git/0009-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch
index cbd0bcd8..de3e2d68 100644
--- a/recipes-qt/qt5/qtbase-git/0009-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch
+++ b/recipes-qt/qt5/qtbase-git/0009-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch
@@ -1,7 +1,7 @@
1From b8f2fdcd7683058554b5d76b270c5f4bb3d0b91a Mon Sep 17 00:00:00 2001 1From 5d088522706a3533800e51c011c93d3d2ea58a4d Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> 2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Wed, 5 Feb 2014 18:35:08 +0100 3Date: Wed, 5 Feb 2014 18:35:08 +0100
4Subject: [PATCH 09/12] eglfs: fix egl error for platforms only supporting one 4Subject: [PATCH 09/11] eglfs: fix egl error for platforms only supporting one
5 window/surface 5 window/surface
6MIME-Version: 1.0 6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8 7Content-Type: text/plain; charset=UTF-8
@@ -27,10 +27,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
27 1 file changed, 15 insertions(+), 1 deletion(-) 27 1 file changed, 15 insertions(+), 1 deletion(-)
28 28
29diff --git a/src/plugins/platforms/eglfs/qeglfswindow.cpp b/src/plugins/platforms/eglfs/qeglfswindow.cpp 29diff --git a/src/plugins/platforms/eglfs/qeglfswindow.cpp b/src/plugins/platforms/eglfs/qeglfswindow.cpp
30index 2d36c0b..854531e 100644 30index c83b894..b937881 100644
31--- a/src/plugins/platforms/eglfs/qeglfswindow.cpp 31--- a/src/plugins/platforms/eglfs/qeglfswindow.cpp
32+++ b/src/plugins/platforms/eglfs/qeglfswindow.cpp 32+++ b/src/plugins/platforms/eglfs/qeglfswindow.cpp
33@@ -74,6 +74,15 @@ void QEglFSWindow::create() 33@@ -66,6 +66,15 @@ void QEglFSWindow::create()
34 34
35 m_flags = Created; 35 m_flags = Created;
36 36
@@ -46,16 +46,16 @@ index 2d36c0b..854531e 100644
46 if (window()->type() == Qt::Desktop) 46 if (window()->type() == Qt::Desktop)
47 return; 47 return;
48 48
49@@ -85,7 +94,7 @@ void QEglFSWindow::create() 49@@ -79,7 +88,7 @@ void QEglFSWindow::create()
50 if (isRaster() && screen->compositingWindow())
51 return; 50 return;
51 }
52 52
53-#if !defined(Q_OS_ANDROID) || defined(Q_OS_ANDROID_NO_SDK) 53-#if !defined(Q_OS_ANDROID) || defined(Q_OS_ANDROID_NO_SDK)
54+#if !defined(Q_OS_ANDROID) || defined(Q_OS_ANDROID_NO_SDK) || defined(EGL_API_FB) 54+#if !defined(Q_OS_ANDROID) || defined(Q_OS_ANDROID_NO_SDK) || defined(EGL_API_FB)
55 // We can have either a single OpenGL window or multiple raster windows. 55 // We can have either a single OpenGL window or multiple raster windows.
56 // Other combinations cannot work. 56 // Other combinations cannot work.
57 qFatal("EGLFS: OpenGL windows cannot be mixed with others."); 57 qFatal("EGLFS: OpenGL windows cannot be mixed with others.");
58@@ -105,6 +114,11 @@ void QEglFSWindow::create() 58@@ -99,6 +108,11 @@ void QEglFSWindow::create()
59 59
60 resetSurface(); 60 resetSurface();
61 61
@@ -68,5 +68,5 @@ index 2d36c0b..854531e 100644
68 68
69 if (isRaster()) { 69 if (isRaster()) {
70-- 70--
712.0.0 712.1.1
72 72
diff --git a/recipes-qt/qt5/qtbase-git/0011-QOpenGLPaintDevice-sub-area-support.patch b/recipes-qt/qt5/qtbase-git/0010-QOpenGLPaintDevice-sub-area-support.patch
index 27496db6..db979bd4 100644
--- a/recipes-qt/qt5/qtbase-git/0011-QOpenGLPaintDevice-sub-area-support.patch
+++ b/recipes-qt/qt5/qtbase-git/0010-QOpenGLPaintDevice-sub-area-support.patch
@@ -1,7 +1,7 @@
1From 606dc31c85d97dff52b07ec9c896718c6533f670 Mon Sep 17 00:00:00 2001 1From 709c35b889e46f2b1bc36d88c732f1b440e6c236 Mon Sep 17 00:00:00 2001
2From: Jani Hautakangas <jani.hautakangas@ixonos.com> 2From: Jani Hautakangas <jani.hautakangas@ixonos.com>
3Date: Thu, 16 May 2013 09:52:07 +0300 3Date: Thu, 16 May 2013 09:52:07 +0300
4Subject: [PATCH 11/11] QOpenGLPaintDevice sub-area support 4Subject: [PATCH 10/11] QOpenGLPaintDevice sub-area support
5 5
6Allows creating QOpenGLPaintDevice targetting sub-area 6Allows creating QOpenGLPaintDevice targetting sub-area
7of binded framebuffer. 7of binded framebuffer.
@@ -20,10 +20,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
20 5 files changed, 23 insertions(+), 3 deletions(-) 20 5 files changed, 23 insertions(+), 3 deletions(-)
21 21
22diff --git a/src/gui/opengl/qopenglpaintdevice.cpp b/src/gui/opengl/qopenglpaintdevice.cpp 22diff --git a/src/gui/opengl/qopenglpaintdevice.cpp b/src/gui/opengl/qopenglpaintdevice.cpp
23index 6750458..034630a 100644 23index 59bca6e..ea0ee88 100644
24--- a/src/gui/opengl/qopenglpaintdevice.cpp 24--- a/src/gui/opengl/qopenglpaintdevice.cpp
25+++ b/src/gui/opengl/qopenglpaintdevice.cpp 25+++ b/src/gui/opengl/qopenglpaintdevice.cpp
26@@ -111,6 +111,7 @@ class QOpenGLPaintDevicePrivate 26@@ -103,6 +103,7 @@ class QOpenGLPaintDevicePrivate
27 public: 27 public:
28 QOpenGLPaintDevicePrivate(const QSize &size); 28 QOpenGLPaintDevicePrivate(const QSize &size);
29 29
@@ -31,7 +31,7 @@ index 6750458..034630a 100644
31 QSize size; 31 QSize size;
32 QOpenGLContext *ctx; 32 QOpenGLContext *ctx;
33 33
34@@ -159,6 +160,12 @@ QOpenGLPaintDevice::QOpenGLPaintDevice(int width, int height) 34@@ -151,6 +152,12 @@ QOpenGLPaintDevice::QOpenGLPaintDevice(int width, int height)
35 { 35 {
36 } 36 }
37 37
@@ -44,7 +44,7 @@ index 6750458..034630a 100644
44 /*! 44 /*!
45 Destroys the QOpenGLPaintDevice. 45 Destroys the QOpenGLPaintDevice.
46 */ 46 */
47@@ -228,6 +235,11 @@ QOpenGLContext *QOpenGLPaintDevice::context() const 47@@ -220,6 +227,11 @@ QOpenGLContext *QOpenGLPaintDevice::context() const
48 return d_ptr->ctx; 48 return d_ptr->ctx;
49 } 49 }
50 50
@@ -57,10 +57,10 @@ index 6750458..034630a 100644
57 Returns the pixel size of the paint device. 57 Returns the pixel size of the paint device.
58 58
59diff --git a/src/gui/opengl/qopenglpaintdevice.h b/src/gui/opengl/qopenglpaintdevice.h 59diff --git a/src/gui/opengl/qopenglpaintdevice.h b/src/gui/opengl/qopenglpaintdevice.h
60index c05571c..01eb1bc 100644 60index e1be9b5..1a3ddbc 100644
61--- a/src/gui/opengl/qopenglpaintdevice.h 61--- a/src/gui/opengl/qopenglpaintdevice.h
62+++ b/src/gui/opengl/qopenglpaintdevice.h 62+++ b/src/gui/opengl/qopenglpaintdevice.h
63@@ -62,12 +62,14 @@ public: 63@@ -54,12 +54,14 @@ public:
64 QOpenGLPaintDevice(); 64 QOpenGLPaintDevice();
65 explicit QOpenGLPaintDevice(const QSize &size); 65 explicit QOpenGLPaintDevice(const QSize &size);
66 QOpenGLPaintDevice(int width, int height); 66 QOpenGLPaintDevice(int width, int height);
@@ -76,10 +76,10 @@ index c05571c..01eb1bc 100644
76 void setSize(const QSize &size); 76 void setSize(const QSize &size);
77 void setDevicePixelRatio(qreal devicePixelRatio); 77 void setDevicePixelRatio(qreal devicePixelRatio);
78diff --git a/src/gui/opengl/qopenglpaintengine.cpp b/src/gui/opengl/qopenglpaintengine.cpp 78diff --git a/src/gui/opengl/qopenglpaintengine.cpp b/src/gui/opengl/qopenglpaintengine.cpp
79index 81a0d82..ce57261 100644 79index 21bc4a9..ce008a4 100644
80--- a/src/gui/opengl/qopenglpaintengine.cpp 80--- a/src/gui/opengl/qopenglpaintengine.cpp
81+++ b/src/gui/opengl/qopenglpaintengine.cpp 81+++ b/src/gui/opengl/qopenglpaintengine.cpp
82@@ -1985,7 +1985,10 @@ bool QOpenGL2PaintEngineEx::begin(QPaintDevice *pdev) 82@@ -1999,7 +1999,10 @@ bool QOpenGL2PaintEngineEx::begin(QPaintDevice *pdev)
83 for (int i = 0; i < QT_GL_VERTEX_ARRAY_TRACKED_COUNT; ++i) 83 for (int i = 0; i < QT_GL_VERTEX_ARRAY_TRACKED_COUNT; ++i)
84 d->vertexAttributeArraysEnabledState[i] = false; 84 d->vertexAttributeArraysEnabledState[i] = false;
85 85
@@ -90,7 +90,7 @@ index 81a0d82..ce57261 100644
90 d->width = sz.width(); 90 d->width = sz.width();
91 d->height = sz.height(); 91 d->height = sz.height();
92 d->mode = BrushDrawingMode; 92 d->mode = BrushDrawingMode;
93@@ -2070,7 +2073,7 @@ void QOpenGL2PaintEngineEx::ensureActive() 93@@ -2084,7 +2087,7 @@ void QOpenGL2PaintEngineEx::ensureActive()
94 d->device->ensureActiveTarget(); 94 d->device->ensureActiveTarget();
95 95
96 d->transferMode(BrushDrawingMode); 96 d->transferMode(BrushDrawingMode);
@@ -99,7 +99,7 @@ index 81a0d82..ce57261 100644
99 d->needsSync = false; 99 d->needsSync = false;
100 d->lastMaskTextureUsed = 0; 100 d->lastMaskTextureUsed = 0;
101 d->shaderManager->setDirty(); 101 d->shaderManager->setDirty();
102@@ -2113,6 +2116,7 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest() 102@@ -2127,6 +2130,7 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest()
103 if (bounds == QRect(0, 0, width, height)) { 103 if (bounds == QRect(0, 0, width, height)) {
104 funcs.glDisable(GL_SCISSOR_TEST); 104 funcs.glDisable(GL_SCISSOR_TEST);
105 } else { 105 } else {
@@ -107,7 +107,7 @@ index 81a0d82..ce57261 100644
107 funcs.glEnable(GL_SCISSOR_TEST); 107 funcs.glEnable(GL_SCISSOR_TEST);
108 setScissor(bounds); 108 setScissor(bounds);
109 } 109 }
110@@ -2121,12 +2125,13 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest() 110@@ -2135,12 +2139,13 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest()
111 111
112 void QOpenGL2PaintEngineExPrivate::setScissor(const QRect &rect) 112 void QOpenGL2PaintEngineExPrivate::setScissor(const QRect &rect)
113 { 113 {
@@ -123,10 +123,10 @@ index 81a0d82..ce57261 100644
123 123
124 funcs.glScissor(left, bottom, width, height); 124 funcs.glScissor(left, bottom, width, height);
125diff --git a/src/gui/opengl/qopenglpaintengine_p.h b/src/gui/opengl/qopenglpaintengine_p.h 125diff --git a/src/gui/opengl/qopenglpaintengine_p.h b/src/gui/opengl/qopenglpaintengine_p.h
126index 4f0e2e5..f211de1 100644 126index 5ef0366..c5b517d 100644
127--- a/src/gui/opengl/qopenglpaintengine_p.h 127--- a/src/gui/opengl/qopenglpaintengine_p.h
128+++ b/src/gui/opengl/qopenglpaintengine_p.h 128+++ b/src/gui/opengl/qopenglpaintengine_p.h
129@@ -264,6 +264,7 @@ public: 129@@ -256,6 +256,7 @@ public:
130 QOpenGL2PaintEngineEx* q; 130 QOpenGL2PaintEngineEx* q;
131 QOpenGLEngineShaderManager* shaderManager; 131 QOpenGLEngineShaderManager* shaderManager;
132 QOpenGLPaintDevice* device; 132 QOpenGLPaintDevice* device;
@@ -135,10 +135,10 @@ index 4f0e2e5..f211de1 100644
135 QOpenGLContext *ctx; 135 QOpenGLContext *ctx;
136 EngineMode mode; 136 EngineMode mode;
137diff --git a/src/gui/opengl/qopengltextureglyphcache.cpp b/src/gui/opengl/qopengltextureglyphcache.cpp 137diff --git a/src/gui/opengl/qopengltextureglyphcache.cpp b/src/gui/opengl/qopengltextureglyphcache.cpp
138index 0610ab6..ea1e3b2 100644 138index 6e16b2d..ddec9bb 100644
139--- a/src/gui/opengl/qopengltextureglyphcache.cpp 139--- a/src/gui/opengl/qopengltextureglyphcache.cpp
140+++ b/src/gui/opengl/qopengltextureglyphcache.cpp 140+++ b/src/gui/opengl/qopengltextureglyphcache.cpp
141@@ -316,7 +316,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height) 141@@ -308,7 +308,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
142 funcs->glBindFramebuffer(GL_FRAMEBUFFER, (GLuint)oldFbo); 142 funcs->glBindFramebuffer(GL_FRAMEBUFFER, (GLuint)oldFbo);
143 143
144 if (pex != 0) { 144 if (pex != 0) {
@@ -148,5 +148,5 @@ index 0610ab6..ea1e3b2 100644
148 } else { 148 } else {
149 if (m_vao.isCreated()) { 149 if (m_vao.isCreated()) {
150-- 150--
1512.0.2 1512.1.1
152 152
diff --git a/recipes-qt/qt5/qtbase-git/0010-Revert-Use-the-gcc-feature-in-simd.prf.patch b/recipes-qt/qt5/qtbase-git/0010-Revert-Use-the-gcc-feature-in-simd.prf.patch
deleted file mode 100644
index da05f28f..00000000
--- a/recipes-qt/qt5/qtbase-git/0010-Revert-Use-the-gcc-feature-in-simd.prf.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1From 8d8db9db8518289f4c1856dd3062c2e324c5c9be Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Wed, 4 Jun 2014 15:26:11 +0200
4Subject: [PATCH 10/12] Revert "Use the "gcc" feature in simd.prf"
5
6This reverts commit 3b00cc480400d47c59c29d3507c7fcdc9be2a489.
7---
8 mkspecs/features/simd.prf | 2 +-
9 1 file changed, 1 insertion(+), 1 deletion(-)
10
11diff --git a/mkspecs/features/simd.prf b/mkspecs/features/simd.prf
12index 62a63f9..4f86f60 100644
13--- a/mkspecs/features/simd.prf
14+++ b/mkspecs/features/simd.prf
15@@ -18,7 +18,7 @@ QT_CPU_FEATURES = $$eval(QT_CPU_FEATURES.$$QT_ARCH)
16 #
17 # Set up compilers for SIMD (SSE/AVX, NEON etc)
18 #
19-gcc { # includes intel_icc and clang variants
20+*-g++*|intel_icc|*-clang*|*-qcc* {
21 sse2 {
22 HEADERS += $$SSE2_HEADERS
23
24--
252.0.0
26
diff --git a/recipes-qt/qt5/qtbase-git/0011-Always-build-uic.patch b/recipes-qt/qt5/qtbase-git/0011-Always-build-uic.patch
index a1af18e1..9bd001b4 100644
--- a/recipes-qt/qt5/qtbase-git/0011-Always-build-uic.patch
+++ b/recipes-qt/qt5/qtbase-git/0011-Always-build-uic.patch
@@ -1,4 +1,4 @@
1From 271db04ebfbaf67e2e8c30ff050510c5a42acfa4 Mon Sep 17 00:00:00 2001 1From 2dd5a897d7e2f073b4223595a7bf214d3481b68a Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sat, 16 Nov 2013 00:32:30 +0100 3Date: Sat, 16 Nov 2013 00:32:30 +0100
4Subject: [PATCH 11/12] Always build uic 4Subject: [PATCH 11/12] Always build uic
@@ -14,10 +14,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
14 1 file changed, 1 insertion(+), 1 deletion(-) 14 1 file changed, 1 insertion(+), 1 deletion(-)
15 15
16diff --git a/src/src.pro b/src/src.pro 16diff --git a/src/src.pro b/src/src.pro
17index 6a805a6..90623a6 100644 17index ab93641..a48606b 100644
18--- a/src/src.pro 18--- a/src/src.pro
19+++ b/src/src.pro 19+++ b/src/src.pro
20@@ -158,7 +158,7 @@ contains(QT_CONFIG, concurrent):SUBDIRS += src_concurrent 20@@ -161,7 +161,7 @@ contains(QT_CONFIG, concurrent):SUBDIRS += src_concurrent
21 } 21 }
22 } 22 }
23 } 23 }
@@ -27,5 +27,5 @@ index 6a805a6..90623a6 100644
27 nacl: SUBDIRS -= src_network src_testlib 27 nacl: SUBDIRS -= src_network src_testlib
28 28
29-- 29--
302.0.0 302.1.1
31 31
diff --git a/recipes-qt/qt5/qtbase-git/0011-qmake-don-t-build-it-in-configure-but-allow-to-build.patch b/recipes-qt/qt5/qtbase-git/0011-qmake-don-t-build-it-in-configure-but-allow-to-build.patch
index 820fb21a..e39693ff 100644
--- a/recipes-qt/qt5/qtbase-git/0011-qmake-don-t-build-it-in-configure-but-allow-to-build.patch
+++ b/recipes-qt/qt5/qtbase-git/0011-qmake-don-t-build-it-in-configure-but-allow-to-build.patch
@@ -1,4 +1,4 @@
1From ac507c953112630d7e929be35586e97396b76327 Mon Sep 17 00:00:00 2001 1From 5d6e6b18d2049bad370c594e5ab30fd85c0ed047 Mon Sep 17 00:00:00 2001
2From: Michael Krelin <hacker@klever.net> 2From: Michael Krelin <hacker@klever.net>
3Date: Mon, 29 Oct 2012 20:07:49 -0700 3Date: Mon, 29 Oct 2012 20:07:49 -0700
4Subject: [PATCH 11/11] qmake: don't build it in configure, but allow to build 4Subject: [PATCH 11/11] qmake: don't build it in configure, but allow to build
@@ -20,10 +20,10 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
20 2 files changed, 3 insertions(+), 1 deletion(-) 20 2 files changed, 3 insertions(+), 1 deletion(-)
21 21
22diff --git a/configure b/configure 22diff --git a/configure b/configure
23index 3c0347a..a75ca11 100755 23index fe6bed4..9628be2 100755
24--- a/configure 24--- a/configure
25+++ b/configure 25+++ b/configure
26@@ -3675,7 +3675,7 @@ setBootstrapEvalVariable() 26@@ -3689,7 +3689,7 @@ setBootstrapEvalVariable()
27 27
28 28
29 # build qmake 29 # build qmake
@@ -46,5 +46,5 @@ index 89d6ea5..7c605b9 100644
46 VPATH += \ 46 VPATH += \
47 ../src/corelib/global \ 47 ../src/corelib/global \
48-- 48--
492.0.0 492.1.1
50 50
diff --git a/recipes-qt/qt5/qtbase-git/0012-configure-preserve-built-qmake-and-swap-with-native-.patch b/recipes-qt/qt5/qtbase-git/0012-configure-preserve-built-qmake-and-swap-with-native-.patch
index 81b05f3d..c9941206 100644
--- a/recipes-qt/qt5/qtbase-git/0012-configure-preserve-built-qmake-and-swap-with-native-.patch
+++ b/recipes-qt/qt5/qtbase-git/0012-configure-preserve-built-qmake-and-swap-with-native-.patch
@@ -1,4 +1,4 @@
1From 11bd34bfe629767ec32a36593386ef0655e86f24 Mon Sep 17 00:00:00 2001 1From f1b4d7d4c96b6ded9bd312f6db2ba735feb001c0 Mon Sep 17 00:00:00 2001
2From: Denys Dmytriyenko <denys@ti.com> 2From: Denys Dmytriyenko <denys@ti.com>
3Date: Mon, 11 Nov 2013 20:22:34 -0500 3Date: Mon, 11 Nov 2013 20:22:34 -0500
4Subject: [PATCH 12/12] configure: preserve built qmake and swap with native 4Subject: [PATCH 12/12] configure: preserve built qmake and swap with native
@@ -13,10 +13,10 @@ Signed-off-by: Denys Dmytriyenko <denys@ti.com>
13 1 file changed, 2 insertions(+) 13 1 file changed, 2 insertions(+)
14 14
15diff --git a/configure b/configure 15diff --git a/configure b/configure
16index 3c0347a..c51f785 100755 16index fe6bed4..ea661a3 100755
17--- a/configure 17--- a/configure
18+++ b/configure 18+++ b/configure
19@@ -3825,6 +3825,8 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; 19@@ -3839,6 +3839,8 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
20 20
21 (cd "$outpath/qmake"; "$MAKE") || exit 2 21 (cd "$outpath/qmake"; "$MAKE") || exit 2
22 fi # Build qmake 22 fi # Build qmake
@@ -26,5 +26,5 @@ index 3c0347a..c51f785 100755
26 echo "Running configuration tests..." 26 echo "Running configuration tests..."
27 27
28-- 28--
292.0.0 292.1.1
30 30
diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb
index 9a9d3ca7..d902b18b 100644
--- a/recipes-qt/qt5/qtbase-native_git.bb
+++ b/recipes-qt/qt5/qtbase-native_git.bb
@@ -16,8 +16,7 @@ SRC_URI += "\
16 file://0007-qeglplatformintegration-Undefine-CursorShape-from-X..patch \ 16 file://0007-qeglplatformintegration-Undefine-CursorShape-from-X..patch \
17 file://0008-configure-bump-path-length-from-256-to-512-character.patch \ 17 file://0008-configure-bump-path-length-from-256-to-512-character.patch \
18 file://0009-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch \ 18 file://0009-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch \
19 file://0010-Revert-Use-the-gcc-feature-in-simd.prf.patch \ 19 file://0010-QOpenGLPaintDevice-sub-area-support.patch \
20 file://0011-QOpenGLPaintDevice-sub-area-support.patch \
21" 20"
22 21
23# common for qtbase-native and nativesdk-qtbase 22# common for qtbase-native and nativesdk-qtbase
@@ -31,4 +30,10 @@ do_install_append() {
31 ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt 30 ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt
32} 31}
33 32
34SRCREV = "7a4dcbaabf037a6913a5662ebb74cc47e04673b9" 33SRCREV = "8456adf0eeb9df8dd5f0547d4ad5a81888295f03"
34
35LICENSE = "GFDL-1.3 & LGPL-2.1 | LGPL-3.0"
36LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
37 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
38 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
39 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb
index 65e92a04..2e938c9e 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -16,8 +16,7 @@ SRC_URI += "\
16 file://0007-qeglplatformintegration-Undefine-CursorShape-from-X..patch \ 16 file://0007-qeglplatformintegration-Undefine-CursorShape-from-X..patch \
17 file://0008-configure-bump-path-length-from-256-to-512-character.patch \ 17 file://0008-configure-bump-path-length-from-256-to-512-character.patch \
18 file://0009-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch \ 18 file://0009-eglfs-fix-egl-error-for-platforms-only-supporting-on.patch \
19 file://0010-Revert-Use-the-gcc-feature-in-simd.prf.patch \ 19 file://0010-QOpenGLPaintDevice-sub-area-support.patch \
20 file://0011-QOpenGLPaintDevice-sub-area-support.patch \
21" 20"
22 21
23# specific for qtbase 22# specific for qtbase
@@ -25,4 +24,10 @@ SRC_URI += "\
25 file://0011-qmake-don-t-build-it-in-configure-but-allow-to-build.patch \ 24 file://0011-qmake-don-t-build-it-in-configure-but-allow-to-build.patch \
26" 25"
27 26
28SRCREV = "7a4dcbaabf037a6913a5662ebb74cc47e04673b9" 27SRCREV = "8456adf0eeb9df8dd5f0547d4ad5a81888295f03"
28
29LICENSE = "GFDL-1.3 & LGPL-2.1 | LGPL-3.0"
30LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
31 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
32 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
33 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtconnectivity_git.bb b/recipes-qt/qt5/qtconnectivity_git.bb
index 7b81b2c2..195b267b 100644
--- a/recipes-qt/qt5/qtconnectivity_git.bb
+++ b/recipes-qt/qt5/qtconnectivity_git.bb
@@ -1,4 +1,10 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${BPN}.inc 2require ${BPN}.inc
3 3
4SRCREV = "5fe214b8db0c192ea5520e7fdb20f546b02af88b" 4SRCREV = "0f6e9cc18007c718de8ec399f5b60687ecffe9c2"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
10 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtdeclarative-git/0001-qmltestexample-fix-link.patch b/recipes-qt/qt5/qtdeclarative-git/0001-qmltestexample-fix-link.patch
new file mode 100644
index 00000000..78ef3e11
--- /dev/null
+++ b/recipes-qt/qt5/qtdeclarative-git/0001-qmltestexample-fix-link.patch
@@ -0,0 +1,88 @@
1From 3bab0b12be56ec7c85c5648a304aba98dc09ed60 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
3Date: Sun, 26 May 2013 14:26:19 +0200
4Subject: [PATCH] qmltestexample: fix link
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9else we get :
10ld: warning: libQt5Quick.so.5, needed by libQt5QuickTest.so, not found
11
12Upstream-Status: Inappropriate
13
14Change-Id: I63088ff73bec6a8559dfae132f8bd40b62487450
15Signed-off-by: Eric Bénard <eric@eukrea.com>
16Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
17---
18 examples/qmltest/qmltest/qmltest.pro | 2 +-
19 tests/auto/qml/qjsengine/qjsengine.pro | 2 +-
20 tests/auto/qml/qtqmlmodules/qtqmlmodules.pro | 2 +-
21 tests/auto/qmltest/qmltest.pro | 1 +
22 tools/qmltestrunner/qmltestrunner.pro | 2 +-
23 5 files changed, 5 insertions(+), 4 deletions(-)
24
25diff --git a/examples/qmltest/qmltest/qmltest.pro b/examples/qmltest/qmltest/qmltest.pro
26index b5893c5..1b00e6c 100644
27--- a/examples/qmltest/qmltest/qmltest.pro
28+++ b/examples/qmltest/qmltest/qmltest.pro
29@@ -14,7 +14,7 @@ TESTDATA += tst_basic.qml tst_item.qml
30 # This code exists solely for the purpose of building this example
31 # inside the examples/ hierarchy.
32
33-QT += qml qmltest
34+QT += qml qmltest quick
35
36 macx: CONFIG -= app_bundle
37
38diff --git a/tests/auto/qml/qjsengine/qjsengine.pro b/tests/auto/qml/qjsengine/qjsengine.pro
39index fc2452c..919710f 100644
40--- a/tests/auto/qml/qjsengine/qjsengine.pro
41+++ b/tests/auto/qml/qjsengine/qjsengine.pro
42@@ -1,7 +1,7 @@
43 CONFIG += testcase
44 CONFIG += parallel_test
45 TARGET = tst_qjsengine
46-QT += qml qml-private widgets testlib gui-private
47+QT += qml qml-private widgets testlib gui-private quick
48 macx:CONFIG -= app_bundle
49 SOURCES += tst_qjsengine.cpp
50 RESOURCES += qjsengine.qrc
51diff --git a/tests/auto/qml/qtqmlmodules/qtqmlmodules.pro b/tests/auto/qml/qtqmlmodules/qtqmlmodules.pro
52index c6d442e..3181dcd 100644
53--- a/tests/auto/qml/qtqmlmodules/qtqmlmodules.pro
54+++ b/tests/auto/qml/qtqmlmodules/qtqmlmodules.pro
55@@ -8,5 +8,5 @@ macx:CONFIG -= app_bundle
56
57 TESTDATA = data/*
58
59-QT += core-private qml-private testlib gui gui-private
60+QT += core-private qml-private testlib gui gui-private quick
61 DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
62diff --git a/tests/auto/qmltest/qmltest.pro b/tests/auto/qmltest/qmltest.pro
63index 7662cb1..a8f8ae2 100644
64--- a/tests/auto/qmltest/qmltest.pro
65+++ b/tests/auto/qmltest/qmltest.pro
66@@ -4,6 +4,7 @@ CONFIG += qmltestcase
67 CONFIG += console
68 SOURCES += tst_qmltest.cpp
69
70+QT += quick
71
72 importFiles.files = borderimage buttonclick createbenchmark events qqmlbinding selftests
73
74diff --git a/tools/qmltestrunner/qmltestrunner.pro b/tools/qmltestrunner/qmltestrunner.pro
75index 1bb913e..56f2dd5 100644
76--- a/tools/qmltestrunner/qmltestrunner.pro
77+++ b/tools/qmltestrunner/qmltestrunner.pro
78@@ -1,6 +1,6 @@
79 SOURCES += main.cpp
80
81-QT += qml qmltest
82+QT += qml qmltest quick
83 CONFIG += no_import_scan
84
85 load(qt_tool)
86--
872.1.1
88
diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/qtdeclarative_git.bb
index 4611a2d1..5957c45e 100644
--- a/recipes-qt/qt5/qtdeclarative_git.bb
+++ b/recipes-qt/qt5/qtdeclarative_git.bb
@@ -1,4 +1,10 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "e6bf3d444f3818145d7807ad37b6a0ab9f8d4a47" 4SRCREV = "29b77e5e0759472ab1f7da1dd756b857d3b2ddd7"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
10 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtenginio_git.bb b/recipes-qt/qt5/qtenginio_git.bb
index b7f2f79e..ff3c1c4f 100644
--- a/recipes-qt/qt5/qtenginio_git.bb
+++ b/recipes-qt/qt5/qtenginio_git.bb
@@ -1,4 +1,9 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "07885f25ed57b98a695f28337fc4b91e611991aa" 4QT_MODULE_BRANCH = "1.1"
5SRCREV = "2b93eb45116e0bf2cc62f614de66cfd261c552df"
6
7LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6"
diff --git a/recipes-qt/qt5/qtgraphicaleffects_git.bb b/recipes-qt/qt5/qtgraphicaleffects_git.bb
index ef9cf507..95aac636 100644
--- a/recipes-qt/qt5/qtgraphicaleffects_git.bb
+++ b/recipes-qt/qt5/qtgraphicaleffects_git.bb
@@ -1,4 +1,10 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "82abf6975b6737259ee656564e5ec7f8ad1d0508" 4SRCREV = "bdd7e47ff1357bcc3b81c7ff5c10189c6a9b0290"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
10 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtimageformats_git.bb b/recipes-qt/qt5/qtimageformats_git.bb
index 16e12bb8..4f15caac 100644
--- a/recipes-qt/qt5/qtimageformats_git.bb
+++ b/recipes-qt/qt5/qtimageformats_git.bb
@@ -1,4 +1,10 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "1c66c5786c35a7d841e0004757cff06da3f9a2cc" 4SRCREV = "08f40bc0f00716c3a8cbda70ed00dc2f16515e85"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
10 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtlocation_git.bb b/recipes-qt/qt5/qtlocation_git.bb
index 690cb462..38980b12 100644
--- a/recipes-qt/qt5/qtlocation_git.bb
+++ b/recipes-qt/qt5/qtlocation_git.bb
@@ -1,4 +1,10 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "f90f40de7006c4204df6aa414776616dc6f47f57" 4SRCREV = "b90e043af09955d94a7a9555f11b5d6f3add4c3a"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
10 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtmultimedia-git/0001-Initial-porting-effort-to-GStreamer-1.0.patch b/recipes-qt/qt5/qtmultimedia-git/0001-Initial-porting-effort-to-GStreamer-1.0.patch
new file mode 100644
index 00000000..39601315
--- /dev/null
+++ b/recipes-qt/qt5/qtmultimedia-git/0001-Initial-porting-effort-to-GStreamer-1.0.patch
@@ -0,0 +1,2369 @@
1From 4f9e752e6ecd4e2058f5d4f43578e5b21b6efbf8 Mon Sep 17 00:00:00 2001
2From: Yoann Lopes <yoann.lopes@digia.com>
3Date: Thu, 31 Oct 2013 15:06:30 +0100
4Subject: [PATCH 1/2] Initial porting effort to GStreamer 1.0.
5
6Imported from git@github.com:jhodapp/qtmultimedia.git
7
8Contributions from:
9Ilya Smelykh <ilya@videoexpertsgroup.com>
10Jim Hodapp <jim.hodapp@canonical.com>
11Sergio Schvezov <sergio.schvezov@canonical.com>
12
13Change-Id: I10fa5e5078efa4564ce833befd417008e26a90a9
14Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
15(cherry picked from commit d91dac090d92fdbc3a3425e8d969c62e5c79eff9)
16
17Conflicts:
18 src/gsttools/qgstreamervideorenderer.cpp
19 src/gsttools/qgstreamervideowidget.cpp
20 src/gsttools/qgstreamervideowindow.cpp
21 src/plugins/gstreamer/camerabin/camerabinsession.cpp
22 src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp
23 src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
24---
25 config.tests/gstreamer/gstreamer.pro | 11 +-
26 config.tests/gstreamer_appsrc/gstreamer_appsrc.pro | 13 +-
27 .../gstreamer_encodingprofiles.pro | 13 +-
28 .../gstreamer_photography.pro | 15 +-
29 qtmultimedia.pro | 25 ++-
30 src/gsttools/gsttools.pro | 22 +--
31 src/gsttools/gstvideoconnector.c | 199 +++++++++++++++++++--
32 src/gsttools/qgstappsrc.cpp | 29 ++-
33 src/gsttools/qgstreameraudioprobecontrol.cpp | 19 +-
34 src/gsttools/qgstreamerbushelper.cpp | 8 +
35 src/gsttools/qgstreamervideoprobecontrol.cpp | 9 +
36 src/gsttools/qgstreamervideorenderer.cpp | 3 +-
37 src/gsttools/qgstreamervideowidget.cpp | 29 ++-
38 src/gsttools/qgstreamervideowindow.cpp | 79 +++++++-
39 src/gsttools/qgstutils.cpp | 27 ++-
40 src/gsttools/qgstvideobuffer.cpp | 18 +-
41 src/gsttools/qvideosurfacegstsink.cpp | 138 +++++++++++++-
42 src/multimedia/gsttools_headers/qgstappsrc_p.h | 3 +
43 .../qgstreameraudioprobecontrol_p.h | 5 +-
44 .../qgstreamervideoprobecontrol_p.h | 4 +
45 .../gsttools_headers/qgstreamervideowindow_p.h | 4 +
46 src/multimedia/gsttools_headers/qgstutils_p.h | 4 +
47 .../gsttools_headers/qgstvideobuffer_p.h | 3 +
48 .../gsttools_headers/qvideosurfacegstsink_p.h | 6 +-
49 .../qgstreameraudiodecoderserviceplugin.cpp | 27 ++-
50 .../audiodecoder/qgstreameraudiodecodersession.cpp | 33 +++-
51 .../gstreamer/camerabin/camerabinsession.cpp | 25 +++
52 src/plugins/gstreamer/common.pri | 21 ++-
53 src/plugins/gstreamer/gstreamer.pro | 3 +-
54 .../mediacapture/qgstreamercapturesession.cpp | 5 +
55 src/plugins/gstreamer/mediaplayer/mediaplayer.pro | 1 -
56 .../mediaplayer/qgstreamerplayercontrol.cpp | 2 +
57 .../mediaplayer/qgstreamerplayerservice.cpp | 9 +-
58 .../mediaplayer/qgstreamerplayerserviceplugin.cpp | 27 ++-
59 .../mediaplayer/qgstreamerplayersession.cpp | 154 ++++++++++++++--
60 .../mediaplayer/qgstreamerplayersession.h | 9 +
61 36 files changed, 872 insertions(+), 130 deletions(-)
62
63diff --git a/config.tests/gstreamer/gstreamer.pro b/config.tests/gstreamer/gstreamer.pro
64index 02a7e34..6b9843a 100644
65--- a/config.tests/gstreamer/gstreamer.pro
66+++ b/config.tests/gstreamer/gstreamer.pro
67@@ -3,11 +3,10 @@ SOURCES += main.cpp
68 CONFIG += link_pkgconfig
69
70 PKGCONFIG += \
71- gstreamer-0.10 \
72- gstreamer-base-0.10 \
73- gstreamer-interfaces-0.10 \
74- gstreamer-audio-0.10 \
75- gstreamer-video-0.10 \
76- gstreamer-pbutils-0.10
77+ gstreamer-$$GST_VERSION \
78+ gstreamer-base-$$GST_VERSION \
79+ gstreamer-audio-$$GST_VERSION \
80+ gstreamer-video-$$GST_VERSION \
81+ gstreamer-pbutils-$$GST_VERSION
82
83
84diff --git a/config.tests/gstreamer_appsrc/gstreamer_appsrc.pro b/config.tests/gstreamer_appsrc/gstreamer_appsrc.pro
85index 9f61703..0f3ca2b 100644
86--- a/config.tests/gstreamer_appsrc/gstreamer_appsrc.pro
87+++ b/config.tests/gstreamer_appsrc/gstreamer_appsrc.pro
88@@ -3,11 +3,8 @@ SOURCES += main.cpp
89 CONFIG += link_pkgconfig
90
91 PKGCONFIG += \
92- gstreamer-0.10 \
93- gstreamer-base-0.10 \
94- gstreamer-interfaces-0.10 \
95- gstreamer-audio-0.10 \
96- gstreamer-video-0.10 \
97- gstreamer-app-0.10
98-
99-
100+ gstreamer-$$GST_VERSION \
101+ gstreamer-base-$$GST_VERSION \
102+ gstreamer-audio-$$GST_VERSION \
103+ gstreamer-video-$$GST_VERSION \
104+ gstreamer-pbutils-$$GST_VERSION
105diff --git a/config.tests/gstreamer_encodingprofiles/gstreamer_encodingprofiles.pro b/config.tests/gstreamer_encodingprofiles/gstreamer_encodingprofiles.pro
106index 7e8a9e7..fad40b0 100644
107--- a/config.tests/gstreamer_encodingprofiles/gstreamer_encodingprofiles.pro
108+++ b/config.tests/gstreamer_encodingprofiles/gstreamer_encodingprofiles.pro
109@@ -2,11 +2,10 @@ SOURCES += main.cpp
110
111 CONFIG += link_pkgconfig
112
113-PKGCONFIG += \
114- gstreamer-0.10 \
115- gstreamer-base-0.10 \
116- gstreamer-interfaces-0.10 \
117- gstreamer-audio-0.10 \
118- gstreamer-video-0.10 \
119- gstreamer-pbutils-0.10
120
121+PKGCONFIG += \
122+ gstreamer-$$GST_VERSION \
123+ gstreamer-base-$$GST_VERSION \
124+ gstreamer-audio-$$GST_VERSION \
125+ gstreamer-video-$$GST_VERSION \
126+ gstreamer-pbutils-$$GST_VERSION
127diff --git a/config.tests/gstreamer_photography/gstreamer_photography.pro b/config.tests/gstreamer_photography/gstreamer_photography.pro
128index 6b530cb..975991f 100644
129--- a/config.tests/gstreamer_photography/gstreamer_photography.pro
130+++ b/config.tests/gstreamer_photography/gstreamer_photography.pro
131@@ -3,12 +3,11 @@ SOURCES += main.cpp
132 CONFIG += link_pkgconfig
133
134 PKGCONFIG += \
135- gstreamer-0.10 \
136- gstreamer-base-0.10 \
137- gstreamer-interfaces-0.10 \
138- gstreamer-audio-0.10 \
139- gstreamer-video-0.10 \
140- gstreamer-pbutils-0.10
141-
142-LIBS += -lgstphotography-0.10
143+ gstreamer-$$GST_VERSION \
144+ gstreamer-base-$$GST_VERSION \
145+ gstreamer-audio-$$GST_VERSION \
146+ gstreamer-video-$$GST_VERSION \
147+ gstreamer-pbutils-$$GST_VERSION
148+
149+LIBS += -lgstphotography-$$GST_VERSION
150
151diff --git a/qtmultimedia.pro b/qtmultimedia.pro
152index 3cec526..109dd81 100644
153--- a/qtmultimedia.pro
154+++ b/qtmultimedia.pro
155@@ -17,11 +17,26 @@ win32 {
156 } else {
157 qtCompileTest(alsa)
158 qtCompileTest(pulseaudio)
159- qtCompileTest(gstreamer) {
160- qtCompileTest(gstreamer_photography)
161- qtCompileTest(gstreamer_encodingprofiles)
162- qtCompileTest(gstreamer_appsrc)
163- qtCompileTest(linux_v4l)
164+ !done_config_gstreamer {
165+ gstver=1.0
166+ cache(GST_VERSION, set, gstver);
167+ qtCompileTest(gstreamer) {
168+ qtCompileTest(gstreamer_photography)
169+ qtCompileTest(gstreamer_encodingprofiles)
170+ qtCompileTest(gstreamer_appsrc)
171+ qtCompileTest(linux_v4l)
172+ } else {
173+ gstver=0.10
174+ cache(GST_VERSION, set, gstver);
175+ # Force a re-run of the test
176+ CONFIG -= done_config_gstreamer
177+ qtCompileTest(gstreamer) {
178+ qtCompileTest(gstreamer_photography)
179+ qtCompileTest(gstreamer_encodingprofiles)
180+ qtCompileTest(gstreamer_appsrc)
181+ qtCompileTest(linux_v4l)
182+ }
183+ }
184 }
185 qtCompileTest(resourcepolicy)
186 qtCompileTest(gpu_vivante)
187diff --git a/src/gsttools/gsttools.pro b/src/gsttools/gsttools.pro
188index 7c809a7..6b9bf5d 100644
189--- a/src/gsttools/gsttools.pro
190+++ b/src/gsttools/gsttools.pro
191@@ -2,7 +2,7 @@ TEMPLATE = lib
192
193 TARGET = qgsttools_p
194 QPRO_PWD = $$PWD
195-QT = core-private multimedia-private gui-private
196+QT = core-private multimedia-private gui-private opengl
197
198 !static:DEFINES += QT_MAKEDLL
199 DEFINES += GLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26
200@@ -15,13 +15,14 @@ LIBS_PRIVATE += \
201
202 CONFIG += link_pkgconfig
203
204-PKGCONFIG_PRIVATE += \
205- gstreamer-0.10 \
206- gstreamer-base-0.10 \
207- gstreamer-interfaces-0.10 \
208- gstreamer-audio-0.10 \
209- gstreamer-video-0.10 \
210- gstreamer-pbutils-0.10
211+PKGCONFIG += \
212+ gstreamer-$$GST_VERSION \
213+ gstreamer-base-$$GST_VERSION \
214+ gstreamer-audio-$$GST_VERSION \
215+ gstreamer-video-$$GST_VERSION \
216+ gstreamer-pbutils-$$GST_VERSION
217+
218+equals(GST_VERSION,"0.10"): PKGCONFIG_PRIVATE += gstreamer-interfaces-$$GST_VERSION
219
220 maemo*: PKGCONFIG_PRIVATE +=gstreamer-plugins-bad-0.10
221
222@@ -33,6 +34,7 @@ config_resourcepolicy {
223 # Header files must go inside source directory of a module
224 # to be installed by syncqt.
225 INCLUDEPATH += ../multimedia/gsttools_headers/
226+INCLUDEPATH += ../plugins/gstreamer/mediaplayer/
227 VPATH += ../multimedia/gsttools_headers/
228
229 PRIVATE_HEADERS += \
230@@ -91,13 +93,13 @@ maemo6 {
231 }
232
233 config_gstreamer_appsrc {
234- PKGCONFIG_PRIVATE += gstreamer-app-0.10
235+ PKGCONFIG_PRIVATE += gstreamer-app-$$GST_VERSION
236 PRIVATE_HEADERS += qgstappsrc_p.h
237 SOURCES += qgstappsrc.cpp
238
239 DEFINES += HAVE_GST_APPSRC
240
241- LIBS_PRIVATE += -lgstapp-0.10
242+ LIBS_PRIVATE += -lgstapp-$$GST_VERSION
243 }
244
245 config_linux_v4l: DEFINES += USE_V4L
246diff --git a/src/gsttools/gstvideoconnector.c b/src/gsttools/gstvideoconnector.c
247index 3ed539e..ed0ed3c 100644
248--- a/src/gsttools/gstvideoconnector.c
249+++ b/src/gsttools/gstvideoconnector.c
250@@ -59,26 +59,93 @@ GST_STATIC_PAD_TEMPLATE ("src",
251 GST_PAD_ALWAYS,
252 GST_STATIC_CAPS_ANY);
253
254+
255+#if GST_CHECK_VERSION(1,0,0)
256+
257+G_DEFINE_TYPE(GstVideoConnector, gst_video_connector, GST_TYPE_ELEMENT);
258+#else
259 #define _do_init(bla) \
260 GST_DEBUG_CATEGORY_INIT (video_connector_debug, \
261 "video-connector", 0, "An identity like element for reconnecting video stream");
262
263 GST_BOILERPLATE_FULL (GstVideoConnector, gst_video_connector, GstElement,
264 GST_TYPE_ELEMENT, _do_init);
265+#endif
266
267 static void gst_video_connector_dispose (GObject * object);
268+
269+#if GST_CHECK_VERSION(1,0,0)
270+static GstFlowReturn gst_video_connector_chain (GstPad * pad, GstObject* parent, GstBuffer * buf);
271+#else
272 static GstFlowReturn gst_video_connector_chain (GstPad * pad, GstBuffer * buf);
273 static GstFlowReturn gst_video_connector_buffer_alloc (GstPad * pad,
274 guint64 offset, guint size, GstCaps * caps, GstBuffer ** buf);
275+#endif
276+
277 static GstStateChangeReturn gst_video_connector_change_state (GstElement *
278 element, GstStateChange transition);
279+
280+#if GST_CHECK_VERSION(1,0,0)
281+static gboolean gst_video_connector_handle_sink_event (GstPad * pad, GstObject* parent,
282+ GstEvent * event);
283+#else
284 static gboolean gst_video_connector_handle_sink_event (GstPad * pad,
285 GstEvent * event);
286+#endif
287+
288+#if GST_CHECK_VERSION(1,0,0)
289+static GstPadProbeReturn gst_video_connector_new_buffer_probe(GstPad *pad, GstPadProbeInfo *info, gpointer object);
290+static GstPadProbeReturn gst_video_connector_new_event_probe(GstPad *pad, GstPadProbeInfo *info, gpointer object);
291+static GstPadProbeReturn gst_video_connector_new_query_probe(GstPad *pad, GstPadProbeInfo *info, gpointer object);
292+#else
293 static gboolean gst_video_connector_new_buffer_probe(GstObject *pad, GstBuffer *buffer, guint * object);
294-static void gst_video_connector_resend_new_segment(GstElement * element, gboolean emitFailedSignal);
295 static gboolean gst_video_connector_setcaps (GstPad *pad, GstCaps *caps);
296 static GstCaps *gst_video_connector_getcaps (GstPad * pad);
297 static gboolean gst_video_connector_acceptcaps (GstPad * pad, GstCaps * caps);
298+#endif
299+
300+static void gst_video_connector_resend_new_segment(GstElement * element, gboolean emitFailedSignal);
301+
302+#if GST_CHECK_VERSION(1,0,0)
303+static void
304+gst_video_connector_class_init (GstVideoConnectorClass * klass)
305+{
306+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
307+ GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
308+
309+ gst_element_class_set_details_simple (gstelement_class, "Video Connector",
310+ "Generic",
311+ "An identity like element used for reconnecting video stream",
312+ "Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>");
313+ gst_element_class_add_pad_template (gstelement_class,
314+ gst_static_pad_template_get (&gst_video_connector_sink_factory));
315+ gst_element_class_add_pad_template (gstelement_class,
316+ gst_static_pad_template_get (&gst_video_connector_src_factory));
317+
318+ gst_video_connector_parent_class = g_type_class_peek_parent (klass);
319+
320+ gobject_class->dispose = gst_video_connector_dispose;
321+ gstelement_class->change_state = gst_video_connector_change_state;
322+ klass->resend_new_segment = gst_video_connector_resend_new_segment;
323+
324+ gst_video_connector_signals[SIGNAL_RESEND_NEW_SEGMENT] =
325+ g_signal_new ("resend-new-segment", G_TYPE_FROM_CLASS (klass),
326+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
327+ G_STRUCT_OFFSET (GstVideoConnectorClass, resend_new_segment), NULL, NULL,
328+ g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
329+
330+ gst_video_connector_signals[SIGNAL_CONNECTION_FAILED] =
331+ g_signal_new ("connection-failed", G_TYPE_FROM_CLASS (klass),
332+ G_SIGNAL_RUN_LAST,
333+ 0, NULL, NULL,
334+ g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
335+
336+ GST_DEBUG_CATEGORY_INIT(video_connector_debug, "video-connector", 0,
337+ "An identity like element for reconnecting video stream");
338+
339+}
340+
341+#else
342
343 static void
344 gst_video_connector_base_init (gpointer g_class)
345@@ -120,18 +187,33 @@ gst_video_connector_class_init (GstVideoConnectorClass * klass)
346 g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
347 }
348
349+#endif
350+
351 static void
352-gst_video_connector_init (GstVideoConnector *element,
353- GstVideoConnectorClass *g_class)
354+gst_video_connector_init (GstVideoConnector *element
355+#if GST_CHECK_VERSION(1,0,0)
356+#else
357+ ,GstVideoConnectorClass *g_class
358+#endif
359+ )
360 {
361+#if GST_CHECK_VERSION(1,0,0)
362+#else
363 (void) g_class;
364+#endif
365 element->sinkpad =
366 gst_pad_new_from_static_template (&gst_video_connector_sink_factory,
367 "sink");
368 gst_pad_set_chain_function(element->sinkpad,
369 GST_DEBUG_FUNCPTR (gst_video_connector_chain));
370+#if GST_CHECK_VERSION(1,0,0)
371+ /* gstreamer 1.x uses QUERIES and EVENTS for allocation and caps handiling purposes */
372+ GST_OBJECT_FLAG_SET (element->sinkpad, GST_PAD_FLAG_PROXY_CAPS);
373+ GST_OBJECT_FLAG_SET (element->sinkpad, GST_PAD_FLAG_PROXY_ALLOCATION);
374+#else
375 gst_pad_set_event_function(element->sinkpad,
376 GST_DEBUG_FUNCPTR (gst_video_connector_handle_sink_event));
377+
378 gst_pad_set_bufferalloc_function(element->sinkpad,
379 GST_DEBUG_FUNCPTR (gst_video_connector_buffer_alloc));
380 gst_pad_set_setcaps_function(element->sinkpad,
381@@ -140,14 +222,23 @@ gst_video_connector_init (GstVideoConnector *element,
382 GST_DEBUG_FUNCPTR(gst_video_connector_getcaps));
383 gst_pad_set_acceptcaps_function(element->sinkpad,
384 GST_DEBUG_FUNCPTR(gst_video_connector_acceptcaps));
385-
386+#endif
387 gst_element_add_pad (GST_ELEMENT (element), element->sinkpad);
388
389 element->srcpad =
390 gst_pad_new_from_static_template (&gst_video_connector_src_factory,
391 "src");
392+#if GST_CHECK_VERSION(1,0,0)
393+ gst_pad_add_probe(element->srcpad, GST_PAD_PROBE_TYPE_BUFFER,
394+ gst_video_connector_new_buffer_probe, element, NULL);
395+ gst_pad_add_probe(element->srcpad, GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM,
396+ gst_video_connector_new_query_probe, element, NULL);
397+ gst_pad_add_probe(element->sinkpad, GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM,
398+ gst_video_connector_new_event_probe, element, NULL);
399+#else
400 gst_pad_add_buffer_probe(element->srcpad,
401 G_CALLBACK(gst_video_connector_new_buffer_probe), element);
402+#endif
403 gst_element_add_pad (GST_ELEMENT (element), element->srcpad);
404
405 element->relinked = FALSE;
406@@ -175,9 +266,16 @@ gst_video_connector_dispose (GObject * object)
407
408 gst_video_connector_reset (element);
409
410+#if GST_CHECK_VERSION(1,0,0)
411+ G_OBJECT_CLASS (gst_video_connector_parent_class)->dispose (object);
412+#else
413 G_OBJECT_CLASS (parent_class)->dispose (object);
414+#endif
415 }
416
417+#if GST_CHECK_VERSION(1,0,0)
418+/* For gstreamer 1.x we handle it in ALLOCATION Query */
419+#else
420 // "When this function returns anything else than GST_FLOW_OK,
421 // the buffer allocation failed and buf does not contain valid data."
422 static GstFlowReturn
423@@ -221,6 +319,7 @@ gst_video_connector_buffer_alloc (GstPad * pad, guint64 offset, guint size,
424 if (state == GST_STATE_NULL) {
425 GST_DEBUG_OBJECT (element, "Downstream element is in NULL state");
426 // Downstream filter seems to be in the wrong state
427+
428 return GST_FLOW_UNEXPECTED;
429 }
430 }
431@@ -293,6 +392,7 @@ static GstCaps *gst_video_connector_getcaps (GstPad * pad)
432 return caps;
433 }
434
435+
436 static gboolean gst_video_connector_acceptcaps (GstPad * pad, GstCaps * caps)
437 {
438 GstVideoConnector *element;
439@@ -300,6 +400,7 @@ static gboolean gst_video_connector_acceptcaps (GstPad * pad, GstCaps * caps)
440
441 return gst_pad_peer_accept_caps(element->srcpad, caps);
442 }
443+#endif
444
445 static void
446 gst_video_connector_resend_new_segment(GstElement * element, gboolean emitFailedSignal)
447@@ -311,11 +412,39 @@ gst_video_connector_resend_new_segment(GstElement * element, gboolean emitFailed
448 connector->failedSignalEmited = FALSE;
449 }
450
451+#if GST_CHECK_VERSION(1,0,0)
452+static GstPadProbeReturn gst_video_connector_new_event_probe(GstPad *pad, GstPadProbeInfo *info, gpointer object)
453+{
454+ GstVideoConnector *connector = GST_VIDEO_CONNECTOR (object);
455+ GstEvent *event = gst_pad_probe_info_get_event(info);
456+
457+ GST_DEBUG_OBJECT(connector, "Event %"GST_PTR_FORMAT" received\n", event);
458+
459+ return GST_PAD_PROBE_OK;
460+}
461+
462+static GstPadProbeReturn gst_video_connector_new_query_probe(GstPad *pad, GstPadProbeInfo *info, gpointer object)
463+{
464+ GstVideoConnector *connector = GST_VIDEO_CONNECTOR (object);
465+ GstQuery *query = gst_pad_probe_info_get_query(info);
466+
467+ GST_DEBUG_OBJECT(connector, "Query %"GST_PTR_FORMAT" received\n", query);
468+
469+ return GST_PAD_PROBE_OK;
470+}
471+#endif
472
473+#if GST_CHECK_VERSION(1,0,0)
474+static GstPadProbeReturn gst_video_connector_new_buffer_probe(GstPad *pad, GstPadProbeInfo *info, gpointer object)
475+{
476+ (void) info;
477+#else
478 static gboolean gst_video_connector_new_buffer_probe(GstObject *pad, GstBuffer *buffer, guint * object)
479 {
480- (void) pad;
481 (void) buffer;
482+#endif
483+ (void) pad;
484+
485
486 GstVideoConnector *element = GST_VIDEO_CONNECTOR (object);
487
488@@ -327,16 +456,23 @@ static gboolean gst_video_connector_new_buffer_probe(GstObject *pad, GstBuffer *
489 if (element->relinked)
490 GST_LOG_OBJECT(element, "rejected buffer because of new segment request");
491
492- return !element->relinked;
493+ return element->relinked ? GST_PAD_PROBE_DROP : GST_PAD_PROBE_OK;
494 }
495
496-
497 static GstFlowReturn
498+#if GST_CHECK_VERSION(1,0,0)
499+gst_video_connector_chain (GstPad * pad, GstObject* parent, GstBuffer * buf)
500+#else
501 gst_video_connector_chain (GstPad * pad, GstBuffer * buf)
502+#endif
503 {
504 GstFlowReturn res;
505 GstVideoConnector *element;
506
507+#if GST_CHECK_VERSION(1,0,0)
508+ (void)parent;
509+#endif
510+
511 element = GST_VIDEO_CONNECTOR (gst_pad_get_parent (pad));
512
513 do {
514@@ -348,20 +484,29 @@ gst_video_connector_chain (GstPad * pad, GstBuffer * buf)
515 */
516 while (element->relinked) {
517 element->relinked = FALSE;
518-
519+#if GST_CHECK_VERSION(1,0,0)
520+ if (element->latest_buffer && GST_BUFFER_TIMESTAMP_IS_VALID(element->latest_buffer)) {
521+ element->segment.position = GST_BUFFER_TIMESTAMP (element->latest_buffer);
522+ }
523+#else
524 gint64 pos = element->segment.last_stop;
525-
526 if (element->latest_buffer && GST_BUFFER_TIMESTAMP_IS_VALID(element->latest_buffer)) {
527 pos = GST_BUFFER_TIMESTAMP (element->latest_buffer);
528 }
529+#endif
530
531 //push a new segment and last buffer
532+#if GST_CHECK_VERSION(1,0,0)
533+ GstEvent *ev = gst_event_new_segment (&element->segment);
534+
535+#else
536 GstEvent *ev = gst_event_new_new_segment (TRUE,
537 element->segment.rate,
538 element->segment.format,
539 pos, //start
540 element->segment.stop,
541 pos);
542+#endif
543
544 GST_DEBUG_OBJECT (element, "Pushing new segment event");
545 if (!gst_pad_push_event (element->srcpad, ev)) {
546@@ -424,8 +569,11 @@ gst_video_connector_change_state (GstElement * element,
547 GstStateChangeReturn result;
548
549 connector = GST_VIDEO_CONNECTOR(element);
550+#if GST_CHECK_VERSION(1,0,0)
551+ result = GST_ELEMENT_CLASS (gst_video_connector_parent_class)->change_state(element, transition);
552+#else
553 result = GST_ELEMENT_CLASS (parent_class)->change_state(element, transition);
554-
555+#endif
556 switch (transition) {
557 case GST_STATE_CHANGE_PAUSED_TO_READY:
558 gst_video_connector_reset (connector);
559@@ -440,9 +588,32 @@ gst_video_connector_change_state (GstElement * element,
560 return result;
561 }
562
563-static gboolean
564-gst_video_connector_handle_sink_event (GstPad * pad, GstEvent * event)
565+#if GST_CHECK_VERSION(1,0,0)
566+static gboolean gst_video_connector_handle_sink_event (GstPad * pad, GstObject* parent,
567+ GstEvent * event)
568+{
569+ GstVideoConnector *element = GST_VIDEO_CONNECTOR (gst_pad_get_parent (pad));
570+
571+ switch (GST_EVENT_TYPE (event)) {
572+ case GST_EVENT_SEGMENT:
573+ break;
574+ case GST_EVENT_CAPS:
575+ break;
576+ default:
577+ break;
578+ }
579+
580+ gst_object_unref (element);
581+ return gst_pad_event_default (pad, parent, event);
582+}
583+
584+#else
585+
586+static gboolean gst_video_connector_handle_sink_event (GstPad * pad,
587+ GstEvent * event)
588 {
589+ (void)parent;
590+
591 if (GST_EVENT_TYPE (event) == GST_EVENT_NEWSEGMENT) {
592 GstVideoConnector *element = GST_VIDEO_CONNECTOR (gst_pad_get_parent (pad));
593
594@@ -453,7 +624,6 @@ gst_video_connector_handle_sink_event (GstPad * pad, GstEvent * event)
595
596 gst_event_parse_new_segment_full (event, &update, &rate, &arate, &format,
597 &start, &stop, &time);
598-
599 GST_LOG_OBJECT (element,
600 "NEWSEGMENT update %d, rate %lf, applied rate %lf, "
601 "format %d, " "%" G_GINT64_FORMAT " -- %" G_GINT64_FORMAT ", time %"
602@@ -461,9 +631,10 @@ gst_video_connector_handle_sink_event (GstPad * pad, GstEvent * event)
603
604 gst_segment_set_newsegment_full (&element->segment, update,
605 rate, arate, format, start, stop, time);
606-
607 gst_object_unref (element);
608 }
609
610 return gst_pad_event_default (pad, event);
611 }
612+
613+#endif
614diff --git a/src/gsttools/qgstappsrc.cpp b/src/gsttools/qgstappsrc.cpp
615index 148366b..cf9be45 100644
616--- a/src/gsttools/qgstappsrc.cpp
617+++ b/src/gsttools/qgstappsrc.cpp
618@@ -147,23 +147,44 @@ void QGstAppSrc::pushDataToAppSrc()
619 size = qMin(m_stream->bytesAvailable(), (qint64)m_dataRequestSize);
620
621 if (size) {
622- void *data = g_malloc(size);
623- GstBuffer* buffer = gst_app_buffer_new(data, size, g_free, data);
624+ GstBuffer* buffer = gst_buffer_new_and_alloc(size);
625+
626+#if GST_CHECK_VERSION(1,0,0)
627+ GstMapInfo mapInfo;
628+ gst_buffer_map(buffer, &mapInfo, GST_MAP_WRITE);
629+ void* bufferData = mapInfo.data;
630+#else
631+ void* bufferData = GST_BUFFER_DATA(buffer);
632+#endif
633+
634 buffer->offset = m_stream->pos();
635- qint64 bytesRead = m_stream->read((char*)GST_BUFFER_DATA(buffer), size);
636+ qint64 bytesRead = m_stream->read((char*)bufferData, size);
637 buffer->offset_end = buffer->offset + bytesRead - 1;
638
639+#if GST_CHECK_VERSION(1,0,0)
640+ gst_buffer_unmap(buffer, &mapInfo);
641+#endif
642+
643 if (bytesRead > 0) {
644 m_dataRequested = false;
645 m_enoughData = false;
646 GstFlowReturn ret = gst_app_src_push_buffer (GST_APP_SRC (element()), buffer);
647 if (ret == GST_FLOW_ERROR) {
648 qWarning()<<"appsrc: push buffer error";
649+#if GST_CHECK_VERSION(1,0,0)
650+ } else if (ret == GST_FLOW_FLUSHING) {
651+ qWarning()<<"appsrc: push buffer wrong state";
652+ }
653+#else
654 } else if (ret == GST_FLOW_WRONG_STATE) {
655 qWarning()<<"appsrc: push buffer wrong state";
656- } else if (ret == GST_FLOW_RESEND) {
657+ }
658+#endif
659+#if GST_VERSION_MAJOR < 1
660+ else if (ret == GST_FLOW_RESEND) {
661 qWarning()<<"appsrc: push buffer resend";
662 }
663+#endif
664 }
665 } else {
666 sendEOS();
667diff --git a/src/gsttools/qgstreameraudioprobecontrol.cpp b/src/gsttools/qgstreameraudioprobecontrol.cpp
668index 3baca53..be3de3f 100644
669--- a/src/gsttools/qgstreameraudioprobecontrol.cpp
670+++ b/src/gsttools/qgstreameraudioprobecontrol.cpp
671@@ -45,9 +45,14 @@ QGstreamerAudioProbeControl::~QGstreamerAudioProbeControl()
672
673 }
674
675+#if GST_CHECK_VERSION(1,0,0)
676+void QGstreamerAudioProbeControl::bufferProbed(GstBuffer* buffer, GstCaps* caps)
677+{
678+#else
679 void QGstreamerAudioProbeControl::bufferProbed(GstBuffer* buffer)
680 {
681- GstCaps* caps = gst_buffer_get_caps(buffer);
682+ gst_buffer_get_caps(buffer);
683+#endif
684 if (!caps)
685 return;
686
687@@ -56,8 +61,20 @@ void QGstreamerAudioProbeControl::bufferProbed(GstBuffer* buffer)
688 if (!format.isValid())
689 return;
690
691+ #if GST_CHECK_VERSION(1,0,0)
692+
693+ GstMapInfo info;
694+
695+ gst_buffer_map (buffer, &info, GST_MAP_READ);
696+ QAudioBuffer audioBuffer = QAudioBuffer(QByteArray((const char*)info.data, info.size), format);
697+ gst_buffer_unmap(buffer, &info);
698+
699+ #else
700+
701 QAudioBuffer audioBuffer = QAudioBuffer(QByteArray((const char*)buffer->data, buffer->size), format);
702
703+ #endif
704+
705 {
706 QMutexLocker locker(&m_bufferMutex);
707 m_pendingBuffer = audioBuffer;
708diff --git a/src/gsttools/qgstreamerbushelper.cpp b/src/gsttools/qgstreamerbushelper.cpp
709index 84eda46..eb1fc36 100644
710--- a/src/gsttools/qgstreamerbushelper.cpp
711+++ b/src/gsttools/qgstreamerbushelper.cpp
712@@ -154,13 +154,21 @@ QGstreamerBusHelper::QGstreamerBusHelper(GstBus* bus, QObject* parent):
713 QObject(parent)
714 {
715 d = new QGstreamerBusHelperPrivate(this, bus);
716+#if GST_CHECK_VERSION(1,0,0)
717+ gst_bus_set_sync_handler(bus, (GstBusSyncHandler)syncGstBusFilter, d, 0);
718+#else
719 gst_bus_set_sync_handler(bus, (GstBusSyncHandler)syncGstBusFilter, d);
720+#endif
721 gst_object_ref(GST_OBJECT(bus));
722 }
723
724 QGstreamerBusHelper::~QGstreamerBusHelper()
725 {
726+#if GST_CHECK_VERSION(1,0,0)
727+ gst_bus_set_sync_handler(d->bus(), 0, 0, 0);
728+#else
729 gst_bus_set_sync_handler(d->bus(),0,0);
730+#endif
731 gst_object_unref(GST_OBJECT(d->bus()));
732 }
733
734diff --git a/src/gsttools/qgstreamervideoprobecontrol.cpp b/src/gsttools/qgstreamervideoprobecontrol.cpp
735index a78a9da..9c31140 100644
736--- a/src/gsttools/qgstreamervideoprobecontrol.cpp
737+++ b/src/gsttools/qgstreamervideoprobecontrol.cpp
738@@ -67,12 +67,21 @@ void QGstreamerVideoProbeControl::stopFlushing()
739 m_flushing = false;
740 }
741
742+#if GST_CHECK_VERSION(1,0,0)
743+void QGstreamerVideoProbeControl::bufferProbed(GstBuffer* buffer, GstCaps* caps)
744+#else
745 void QGstreamerVideoProbeControl::bufferProbed(GstBuffer* buffer)
746+#endif
747 {
748 if (m_flushing)
749 return;
750
751+#if GST_CHECK_VERSION(1,0,0)
752+ // FIXME:
753+ // GstCaps* caps = NULL;//gst_buffer_get_caps(buffer);
754+#else
755 GstCaps* caps = gst_buffer_get_caps(buffer);
756+#endif
757 if (!caps)
758 return;
759
760diff --git a/src/gsttools/qgstreamervideorenderer.cpp b/src/gsttools/qgstreamervideorenderer.cpp
761index 2b66f76..804dce9 100644
762--- a/src/gsttools/qgstreamervideorenderer.cpp
763+++ b/src/gsttools/qgstreamervideorenderer.cpp
764@@ -35,8 +35,7 @@
765 #include <private/qvideosurfacegstsink_p.h>
766 #include <private/qgstutils_p.h>
767 #include <qabstractvideosurface.h>
768-
769-#include <QDebug>
770+#include <QtCore/qdebug.h>
771
772 #include <gst/gst.h>
773
774diff --git a/src/gsttools/qgstreamervideowidget.cpp b/src/gsttools/qgstreamervideowidget.cpp
775index aa2e2a3..14c1f04 100644
776--- a/src/gsttools/qgstreamervideowidget.cpp
777+++ b/src/gsttools/qgstreamervideowidget.cpp
778@@ -40,8 +40,13 @@
779 #include <QtGui/qpainter.h>
780
781 #include <gst/gst.h>
782+
783+#if !GST_CHECK_VERSION(1,0,0)
784 #include <gst/interfaces/xoverlay.h>
785 #include <gst/interfaces/propertyprobe.h>
786+#else
787+#include <gst/video/videooverlay.h>
788+#endif
789
790 QT_BEGIN_NAMESPACE
791
792@@ -169,9 +174,13 @@ bool QGstreamerVideoWidgetControl::processSyncMessage(const QGstreamerMessage &m
793 {
794 GstMessage* gm = message.rawMessage();
795
796+#if !GST_CHECK_VERSION(1,0,0)
797 if (gm && (GST_MESSAGE_TYPE(gm) == GST_MESSAGE_ELEMENT) &&
798 gst_structure_has_name(gm->structure, "prepare-xwindow-id")) {
799-
800+#else
801+ if (gm && (GST_MESSAGE_TYPE(gm) == GST_MESSAGE_ELEMENT) &&
802+ gst_structure_has_name(gst_message_get_structure(gm), "prepare-window-handle")) {
803+#endif
804 setOverlay();
805 QMetaObject::invokeMethod(this, "updateNativeVideoSize", Qt::QueuedConnection);
806 return true;
807@@ -199,18 +208,29 @@ bool QGstreamerVideoWidgetControl::processBusMessage(const QGstreamerMessage &me
808
809 void QGstreamerVideoWidgetControl::setOverlay()
810 {
811+#if !GST_CHECK_VERSION(1,0,0)
812 if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) {
813 gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(m_videoSink), m_windowId);
814 }
815+#else
816+ if (m_videoSink && GST_IS_VIDEO_OVERLAY(m_videoSink)) {
817+ gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(m_videoSink), m_windowId);
818+ }
819+#endif
820 }
821
822 void QGstreamerVideoWidgetControl::updateNativeVideoSize()
823 {
824 if (m_videoSink) {
825 //find video native size to update video widget size hint
826- GstPad *pad = gst_element_get_static_pad(m_videoSink,"sink");
827+ GstPad *pad = gst_element_get_static_pad(m_videoSink, "sink");
828+#if !GST_CHECK_VERSION(1,0,0)
829 GstCaps *caps = gst_pad_get_negotiated_caps(pad);
830 gst_object_unref(GST_OBJECT(pad));
831+#else
832+ GstCaps *caps = gst_pad_get_current_caps(pad);
833+ gst_object_unref(GST_OBJECT(pad));
834+#endif
835
836 if (caps) {
837 m_widget->setNativeSize(QGstUtils::capsCorrectedResolution(caps));
838@@ -225,8 +245,13 @@ void QGstreamerVideoWidgetControl::updateNativeVideoSize()
839
840 void QGstreamerVideoWidgetControl::windowExposed()
841 {
842+#if !GST_CHECK_VERSION(1,0,0)
843 if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink))
844 gst_x_overlay_expose(GST_X_OVERLAY(m_videoSink));
845+#else
846+ if (m_videoSink && GST_IS_VIDEO_OVERLAY(m_videoSink))
847+ gst_video_overlay_expose(GST_VIDEO_OVERLAY(m_videoSink));
848+#endif
849 }
850
851 QWidget *QGstreamerVideoWidgetControl::videoWidget()
852diff --git a/src/gsttools/qgstreamervideowindow.cpp b/src/gsttools/qgstreamervideowindow.cpp
853index a373dcc..587b010 100644
854--- a/src/gsttools/qgstreamervideowindow.cpp
855+++ b/src/gsttools/qgstreamervideowindow.cpp
856@@ -37,8 +37,12 @@
857 #include <QtCore/qdebug.h>
858
859 #include <gst/gst.h>
860+#include <gst/video/videooverlay.h>
861+
862+#if !GST_CHECK_VERSION(1,0,0)
863 #include <gst/interfaces/xoverlay.h>
864 #include <gst/interfaces/propertyprobe.h>
865+#endif
866
867
868 QGstreamerVideoWindow::QGstreamerVideoWindow(QObject *parent, const char *elementName)
869@@ -49,18 +53,25 @@ QGstreamerVideoWindow::QGstreamerVideoWindow(QObject *parent, const char *elemen
870 , m_fullScreen(false)
871 , m_colorKey(QColor::Invalid)
872 {
873- if (elementName)
874+ if (elementName) {
875 m_videoSink = gst_element_factory_make(elementName, NULL);
876- else
877+ } else {
878 m_videoSink = gst_element_factory_make("xvimagesink", NULL);
879+ }
880
881 if (m_videoSink) {
882 qt_gst_object_ref_sink(GST_OBJECT(m_videoSink)); //Take ownership
883
884 GstPad *pad = gst_element_get_static_pad(m_videoSink,"sink");
885+#if GST_CHECK_VERSION(1,0,0)
886+ m_bufferProbeId = gst_pad_add_probe(pad, GST_PAD_PROBE_TYPE_BUFFER, padBufferProbe, this, NULL);
887+#else
888 m_bufferProbeId = gst_pad_add_buffer_probe(pad, G_CALLBACK(padBufferProbe), this);
889+#endif
890 gst_object_unref(GST_OBJECT(pad));
891 }
892+ else
893+ qDebug() << "No m_videoSink available!";
894 }
895
896 QGstreamerVideoWindow::~QGstreamerVideoWindow()
897@@ -82,11 +93,15 @@ void QGstreamerVideoWindow::setWinId(WId id)
898 WId oldId = m_windowId;
899
900 m_windowId = id;
901-
902+#if GST_CHECK_VERSION(1,0,0)
903+ if (m_videoSink && GST_IS_VIDEO_OVERLAY(m_videoSink)) {
904+ gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(m_videoSink), m_windowId);
905+ }
906+#else
907 if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) {
908 gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(m_videoSink), m_windowId);
909 }
910-
911+#endif
912 if (!oldId)
913 emit readyChanged(true);
914
915@@ -97,7 +112,20 @@ void QGstreamerVideoWindow::setWinId(WId id)
916 bool QGstreamerVideoWindow::processSyncMessage(const QGstreamerMessage &message)
917 {
918 GstMessage* gm = message.rawMessage();
919+#if GST_CHECK_VERSION(1,0,0)
920+ const GstStructure *s = gst_message_get_structure(gm);
921+ if ((GST_MESSAGE_TYPE(gm) == GST_MESSAGE_ELEMENT) &&
922+ gst_structure_has_name(s, "prepare-window-handle") &&
923+ m_videoSink && GST_IS_VIDEO_OVERLAY(m_videoSink)) {
924+
925+ gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(m_videoSink), m_windowId);
926
927+ GstPad *pad = gst_element_get_static_pad(m_videoSink,"sink");
928+ m_bufferProbeId = gst_pad_add_probe(pad, GST_PAD_PROBE_TYPE_BUFFER, padBufferProbe, this, NULL);
929+
930+ return true;
931+ }
932+#else
933 if ((GST_MESSAGE_TYPE(gm) == GST_MESSAGE_ELEMENT) &&
934 gst_structure_has_name(gm->structure, "prepare-xwindow-id") &&
935 m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) {
936@@ -110,7 +138,7 @@ bool QGstreamerVideoWindow::processSyncMessage(const QGstreamerMessage &message)
937
938 return true;
939 }
940-
941+#endif
942 return false;
943 }
944
945@@ -122,7 +150,19 @@ QRect QGstreamerVideoWindow::displayRect() const
946 void QGstreamerVideoWindow::setDisplayRect(const QRect &rect)
947 {
948 m_displayRect = rect;
949-
950+#if GST_CHECK_VERSION(1,0,0)
951+ if (m_videoSink && GST_IS_VIDEO_OVERLAY(m_videoSink)) {
952+ if (m_displayRect.isEmpty())
953+ gst_video_overlay_set_render_rectangle(GST_VIDEO_OVERLAY(m_videoSink), -1, -1, -1, -1);
954+ else
955+ gst_video_overlay_set_render_rectangle(GST_VIDEO_OVERLAY(m_videoSink),
956+ m_displayRect.x(),
957+ m_displayRect.y(),
958+ m_displayRect.width(),
959+ m_displayRect.height());
960+ repaint();
961+ }
962+#else
963 if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) {
964 #if GST_VERSION_MICRO >= 29
965 if (m_displayRect.isEmpty())
966@@ -136,6 +176,7 @@ void QGstreamerVideoWindow::setDisplayRect(const QRect &rect)
967 repaint();
968 #endif
969 }
970+#endif
971 }
972
973 Qt::AspectRatioMode QGstreamerVideoWindow::aspectRatioMode() const
974@@ -157,6 +198,16 @@ void QGstreamerVideoWindow::setAspectRatioMode(Qt::AspectRatioMode mode)
975
976 void QGstreamerVideoWindow::repaint()
977 {
978+#if GST_CHECK_VERSION(1,0,0)
979+ if (m_videoSink && GST_IS_VIDEO_OVERLAY(m_videoSink)) {
980+ //don't call gst_x_overlay_expose if the sink is in null state
981+ GstState state = GST_STATE_NULL;
982+ GstStateChangeReturn res = gst_element_get_state(m_videoSink, &state, NULL, 1000000);
983+ if (res != GST_STATE_CHANGE_FAILURE && state != GST_STATE_NULL) {
984+ gst_video_overlay_expose(GST_VIDEO_OVERLAY(m_videoSink));
985+ }
986+ }
987+#else
988 if (m_videoSink && GST_IS_X_OVERLAY(m_videoSink)) {
989 //don't call gst_x_overlay_expose if the sink is in null state
990 GstState state = GST_STATE_NULL;
991@@ -165,6 +216,7 @@ void QGstreamerVideoWindow::repaint()
992 gst_x_overlay_expose(GST_X_OVERLAY(m_videoSink));
993 }
994 }
995+#endif
996 }
997
998 QColor QGstreamerVideoWindow::colorKey() const
999@@ -296,11 +348,22 @@ QSize QGstreamerVideoWindow::nativeSize() const
1000 return m_nativeSize;
1001 }
1002
1003+#if GST_CHECK_VERSION(1,0,0)
1004+GstPadProbeReturn QGstreamerVideoWindow::padBufferProbe(GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
1005+#else
1006 void QGstreamerVideoWindow::padBufferProbe(GstPad *pad, GstBuffer * /* buffer */, gpointer user_data)
1007+#endif
1008 {
1009 QGstreamerVideoWindow *control = reinterpret_cast<QGstreamerVideoWindow*>(user_data);
1010 QMetaObject::invokeMethod(control, "updateNativeVideoSize", Qt::QueuedConnection);
1011+
1012+#if GST_CHECK_VERSION(1,0,0)
1013+ Q_UNUSED(pad);
1014+ Q_UNUSED(info);
1015+ return GST_PAD_PROBE_REMOVE;
1016+#else
1017 gst_pad_remove_buffer_probe(pad, control->m_bufferProbeId);
1018+#endif
1019 }
1020
1021 void QGstreamerVideoWindow::updateNativeVideoSize()
1022@@ -311,7 +374,11 @@ void QGstreamerVideoWindow::updateNativeVideoSize()
1023 if (m_videoSink) {
1024 //find video native size to update video widget size hint
1025 GstPad *pad = gst_element_get_static_pad(m_videoSink,"sink");
1026+#if GST_CHECK_VERSION(1,0,0)
1027+ GstCaps *caps = gst_pad_get_current_caps(pad);
1028+#else
1029 GstCaps *caps = gst_pad_get_negotiated_caps(pad);
1030+#endif
1031 gst_object_unref(GST_OBJECT(pad));
1032
1033 if (caps) {
1034diff --git a/src/gsttools/qgstutils.cpp b/src/gsttools/qgstutils.cpp
1035index 8d484aa..b0e377b 100644
1036--- a/src/gsttools/qgstutils.cpp
1037+++ b/src/gsttools/qgstutils.cpp
1038@@ -89,8 +89,13 @@ static void addTagToMap(const GstTagList *list,
1039 break;
1040 default:
1041 // GST_TYPE_DATE is a function, not a constant, so pull it out of the switch
1042+#if GST_CHECK_VERSION(1,0,0)
1043+ if (G_VALUE_TYPE(&val) == G_TYPE_DATE) {
1044+ const GDate *date = (const GDate *)g_value_get_boxed(&val);
1045+#else
1046 if (G_VALUE_TYPE(&val) == GST_TYPE_DATE) {
1047 const GDate *date = gst_value_get_date(&val);
1048+#endif
1049 if (g_date_valid(date)) {
1050 int year = g_date_get_year(date);
1051 int month = g_date_get_month(date);
1052@@ -254,6 +259,24 @@ QAudioFormat QGstUtils::audioFormatForCaps(const GstCaps *caps)
1053 }
1054
1055
1056+
1057+#if GST_CHECK_VERSION(1,0,0)
1058+/*!
1059+ Returns audio format for a buffer.
1060+ If the buffer doesn't have a valid audio format, an empty QAudioFormat is returned.
1061+*/
1062+
1063+QAudioFormat QGstUtils::audioFormatForSample(GstSample *sample)
1064+{
1065+ GstCaps* caps = gst_sample_get_caps(sample);
1066+ if (!caps)
1067+ return QAudioFormat();
1068+
1069+ QAudioFormat format = QGstUtils::audioFormatForCaps(caps);
1070+ gst_caps_unref(caps);
1071+ return format;
1072+}
1073+#else
1074 /*!
1075 Returns audio format for a buffer.
1076 If the buffer doesn't have a valid audio format, an empty QAudioFormat is returned.
1077@@ -269,7 +292,7 @@ QAudioFormat QGstUtils::audioFormatForBuffer(GstBuffer *buffer)
1078 gst_caps_unref(caps);
1079 return format;
1080 }
1081-
1082+#endif
1083
1084 /*!
1085 Builds GstCaps for an audio format.
1086@@ -564,7 +587,7 @@ int QGstUtils::cameraOrientation(const QString &device, GstElementFactory * fact
1087
1088 void qt_gst_object_ref_sink(gpointer object)
1089 {
1090-#if (GST_VERSION_MAJOR >= 0) && (GST_VERSION_MINOR >= 10) && (GST_VERSION_MICRO >= 24)
1091+#if (GST_VERSION_MAJOR >= 0) && (GST_VERSION_MINOR >= 10) && (GST_VERSION_MICRO >= 24) || GST_CHECK_VERSION(1,0,0)
1092 gst_object_ref_sink(object);
1093 #else
1094 g_return_if_fail (GST_IS_OBJECT(object));
1095diff --git a/src/gsttools/qgstvideobuffer.cpp b/src/gsttools/qgstvideobuffer.cpp
1096index 18702ec..93f22f5 100644
1097--- a/src/gsttools/qgstvideobuffer.cpp
1098+++ b/src/gsttools/qgstvideobuffer.cpp
1099@@ -70,21 +70,33 @@ QAbstractVideoBuffer::MapMode QGstVideoBuffer::mapMode() const
1100 uchar *QGstVideoBuffer::map(MapMode mode, int *numBytes, int *bytesPerLine)
1101 {
1102 if (mode != NotMapped && m_mode == NotMapped) {
1103- if (numBytes)
1104- *numBytes = m_buffer->size;
1105+ m_mode = mode;
1106
1107 if (bytesPerLine)
1108 *bytesPerLine = m_bytesPerLine;
1109
1110- m_mode = mode;
1111+#if GST_CHECK_VERSION(1,0,0)
1112+ gst_buffer_map(m_buffer, &m_mapInfo, GST_MAP_READ);
1113+ if (numBytes)
1114+ *numBytes = m_mapInfo.size;
1115+
1116+ return m_mapInfo.data;
1117+#else
1118+ if (numBytes)
1119+ *numBytes = m_buffer->size;
1120
1121 return m_buffer->data;
1122+#endif
1123 } else {
1124 return 0;
1125 }
1126 }
1127 void QGstVideoBuffer::unmap()
1128 {
1129+#if GST_CHECK_VERSION(1,0,0)
1130+ if (m_mode != NotMapped)
1131+ gst_buffer_unmap(m_buffer, &m_mapInfo);
1132+#endif
1133 m_mode = NotMapped;
1134 }
1135
1136diff --git a/src/gsttools/qvideosurfacegstsink.cpp b/src/gsttools/qvideosurfacegstsink.cpp
1137index f3e2d88..a964e82 100644
1138--- a/src/gsttools/qvideosurfacegstsink.cpp
1139+++ b/src/gsttools/qvideosurfacegstsink.cpp
1140@@ -43,7 +43,11 @@
1141
1142 #include "qvideosurfacegstsink_p.h"
1143
1144-//#define DEBUG_VIDEO_SURFACE_SINK
1145+#if GST_VERSION_MAJOR >=1
1146+#include <gst/video/video.h>
1147+#endif
1148+
1149+#define DEBUG_VIDEO_SURFACE_SINK
1150
1151 QT_BEGIN_NAMESPACE
1152
1153@@ -62,10 +66,12 @@ QVideoSurfaceGstDelegate::QVideoSurfaceGstDelegate(
1154 if (m_surface) {
1155 foreach (QObject *instance, bufferPoolLoader()->instances(QGstBufferPoolPluginKey)) {
1156 QGstBufferPoolInterface* plugin = qobject_cast<QGstBufferPoolInterface*>(instance);
1157+
1158 if (plugin) {
1159 m_pools.append(plugin);
1160 }
1161 }
1162+
1163 updateSupportedFormats();
1164 connect(m_surface, SIGNAL(supportedFormatsChanged()), this, SLOT(updateSupportedFormats()));
1165 }
1166@@ -198,6 +204,8 @@ GstFlowReturn QVideoSurfaceGstDelegate::render(GstBuffer *buffer)
1167 if (QThread::currentThread() == thread()) {
1168 if (!m_surface.isNull())
1169 m_surface->present(m_frame);
1170+ else
1171+ qWarning() << "m_surface.isNull().";
1172 } else {
1173 QMetaObject::invokeMethod(this, "queuedRender", Qt::QueuedConnection);
1174 m_renderCondition.wait(&m_mutex, 300);
1175@@ -283,6 +291,27 @@ void QVideoSurfaceGstDelegate::updateSupportedFormats()
1176 }
1177 }
1178
1179+#if GST_CHECK_VERSION(1,0,0)
1180+struct YuvFormat
1181+{
1182+ QVideoFrame::PixelFormat pixelFormat;
1183+ GstVideoFormat vfmt;
1184+ guint32 fourcc;
1185+ int bitsPerPixel;
1186+};
1187+
1188+static const YuvFormat qt_yuvColorLookup[] =
1189+{
1190+ { QVideoFrame::Format_YUV420P, GST_VIDEO_FORMAT_I420, GST_MAKE_FOURCC('I','4','2','0'), 8 },
1191+ { QVideoFrame::Format_YV12, GST_VIDEO_FORMAT_YV12, GST_MAKE_FOURCC('Y','V','1','2'), 8 },
1192+ { QVideoFrame::Format_UYVY, GST_VIDEO_FORMAT_UYVY, GST_MAKE_FOURCC('U','Y','V','Y'), 16 },
1193+ { QVideoFrame::Format_YUYV, GST_VIDEO_FORMAT_YUY2, GST_MAKE_FOURCC('Y','U','Y','2'), 16 },
1194+ { QVideoFrame::Format_NV12, GST_VIDEO_FORMAT_NV12, GST_MAKE_FOURCC('N','V','1','2'), 8 },
1195+ { QVideoFrame::Format_NV21, GST_VIDEO_FORMAT_NV21, GST_MAKE_FOURCC('N','V','2','1'), 8 },
1196+ { QVideoFrame::Format_AYUV444, GST_VIDEO_FORMAT_AYUV, GST_MAKE_FOURCC('A','Y','U','V'), 32 },
1197+};
1198+
1199+#else
1200 struct YuvFormat
1201 {
1202 QVideoFrame::PixelFormat pixelFormat;
1203@@ -300,6 +329,7 @@ static const YuvFormat qt_yuvColorLookup[] =
1204 { QVideoFrame::Format_NV21, GST_MAKE_FOURCC('N','V','2','1'), 8 },
1205 { QVideoFrame::Format_AYUV444, GST_MAKE_FOURCC('A','Y','U','V'), 32 }
1206 };
1207+#endif
1208
1209 static int indexOfYuvColor(QVideoFrame::PixelFormat format)
1210 {
1211@@ -312,12 +342,20 @@ static int indexOfYuvColor(QVideoFrame::PixelFormat format)
1212 return -1;
1213 }
1214
1215+#if GST_VERSION_MAJOR >=1
1216+static int indexOfYuvColor(GstVideoFormat vfmt)
1217+#else
1218 static int indexOfYuvColor(guint32 fourcc)
1219+#endif
1220 {
1221 const int count = sizeof(qt_yuvColorLookup) / sizeof(YuvFormat);
1222
1223 for (int i = 0; i < count; ++i)
1224+#if GST_VERSION_MAJOR >=1
1225+ if (qt_yuvColorLookup[i].vfmt == vfmt)
1226+#else
1227 if (qt_yuvColorLookup[i].fourcc == fourcc)
1228+#endif
1229 return i;
1230
1231 return -1;
1232@@ -388,13 +426,13 @@ GType QVideoSurfaceGstSink::get_type()
1233 if (type == 0) {
1234 static const GTypeInfo info =
1235 {
1236- sizeof(QVideoSurfaceGstSinkClass), // class_size
1237+ sizeof(QVideoSurfaceGstSinkClass), // class_size
1238 base_init, // base_init
1239 NULL, // base_finalize
1240 class_init, // class_init
1241 NULL, // class_finalize
1242 NULL, // class_data
1243- sizeof(QVideoSurfaceGstSink), // instance_size
1244+ sizeof(QVideoSurfaceGstSink), // instance_size
1245 0, // n_preallocs
1246 instance_init, // instance_init
1247 0 // value_table
1248@@ -419,7 +457,11 @@ void QVideoSurfaceGstSink::class_init(gpointer g_class, gpointer class_data)
1249 GstBaseSinkClass *base_sink_class = reinterpret_cast<GstBaseSinkClass *>(g_class);
1250 base_sink_class->get_caps = QVideoSurfaceGstSink::get_caps;
1251 base_sink_class->set_caps = QVideoSurfaceGstSink::set_caps;
1252+// FIXME:
1253+#if GST_CHECK_VERSION(1,0,0)
1254+#else
1255 base_sink_class->buffer_alloc = QVideoSurfaceGstSink::buffer_alloc;
1256+#endif
1257 base_sink_class->start = QVideoSurfaceGstSink::start;
1258 base_sink_class->stop = QVideoSurfaceGstSink::stop;
1259
1260@@ -434,6 +476,18 @@ void QVideoSurfaceGstSink::base_init(gpointer g_class)
1261 {
1262 static GstStaticPadTemplate sink_pad_template = GST_STATIC_PAD_TEMPLATE(
1263 "sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS(
1264+#if GST_CHECK_VERSION(1,0,0)
1265+ "video/x-raw, "
1266+ "format = (string) RGBA,"
1267+ "framerate = (fraction) [ 0, MAX ], "
1268+ "width = (int) [ 1, MAX ], "
1269+ "height = (int) [ 1, MAX ]; "
1270+ "video/x-raw, "
1271+ "format = (string) I420,"
1272+ "framerate = (fraction) [ 0, MAX ], "
1273+ "width = (int) [ 1, MAX ], "
1274+ "height = (int) [ 1, MAX ]"));
1275+#else
1276 "video/x-raw-rgb, "
1277 "framerate = (fraction) [ 0, MAX ], "
1278 "width = (int) [ 1, MAX ], "
1279@@ -442,6 +496,7 @@ void QVideoSurfaceGstSink::base_init(gpointer g_class)
1280 "framerate = (fraction) [ 0, MAX ], "
1281 "width = (int) [ 1, MAX ], "
1282 "height = (int) [ 1, MAX ]"));
1283+#endif
1284
1285 gst_element_class_add_pad_template(
1286 GST_ELEMENT_CLASS(g_class), gst_static_pad_template_get(&sink_pad_template));
1287@@ -490,7 +545,11 @@ GstStateChangeReturn QVideoSurfaceGstSink::change_state(
1288 element, transition);
1289 }
1290
1291-GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base)
1292+GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base
1293+#if GST_CHECK_VERSION(1,0,0)
1294+ , GstCaps* /*filterCaps*/
1295+#endif
1296+)
1297 {
1298 VO_SINK(base);
1299
1300@@ -503,6 +562,7 @@ GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base)
1301 QList<QVideoFrame::PixelFormat> poolHandleFormats;
1302 sink->delegate->poolMutex()->lock();
1303 QGstBufferPoolInterface *pool = sink->delegate->pool();
1304+
1305 if (pool)
1306 poolHandleFormats = sink->delegate->supportedPixelFormats(pool->handleType());
1307 sink->delegate->poolMutex()->unlock();
1308@@ -518,11 +578,19 @@ GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base)
1309
1310 if (index != -1) {
1311 gst_caps_append_structure(caps, gst_structure_new(
1312+#if GST_CHECK_VERSION(1,0,0)
1313+ "video/x-raw",
1314+#else
1315 "video/x-raw-yuv",
1316+#endif
1317 "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, INT_MAX, 1,
1318 "width" , GST_TYPE_INT_RANGE, 1, INT_MAX,
1319 "height" , GST_TYPE_INT_RANGE, 1, INT_MAX,
1320- "format" , GST_TYPE_FOURCC, qt_yuvColorLookup[index].fourcc,
1321+#if GST_CHECK_VERSION(1,0,0)
1322+ "format" , G_TYPE_STRING, gst_video_format_to_string(qt_yuvColorLookup[index].vfmt),
1323+#else
1324+ "format" , G_TYPE_STRING, qt_yuvColorLookup[index].fourcc,
1325+#endif
1326 NULL));
1327 continue;
1328 }
1329@@ -532,7 +600,18 @@ GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base)
1330 for (int i = 0; i < count; ++i) {
1331 if (qt_rgbColorLookup[i].pixelFormat == format) {
1332 GstStructure *structure = gst_structure_new(
1333+#if GST_CHECK_VERSION(1,0,0)
1334+ "video/x-raw",
1335+ "format" , G_TYPE_STRING, gst_video_format_to_string(gst_video_format_from_masks(qt_rgbColorLookup[i].depth,
1336+ qt_rgbColorLookup[i].bitsPerPixel,
1337+ qt_rgbColorLookup[i].endianness,
1338+ qt_rgbColorLookup[i].red,
1339+ qt_rgbColorLookup[i].green,
1340+ qt_rgbColorLookup[i].blue,
1341+ qt_rgbColorLookup[i].alpha)),
1342+#else
1343 "video/x-raw-rgb",
1344+#endif
1345 "framerate" , GST_TYPE_FRACTION_RANGE, 0, 1, INT_MAX, 1,
1346 "width" , GST_TYPE_INT_RANGE, 1, INT_MAX,
1347 "height" , GST_TYPE_INT_RANGE, 1, INT_MAX,
1348@@ -553,6 +632,7 @@ GstCaps *QVideoSurfaceGstSink::get_caps(GstBaseSink *base)
1349 }
1350 }
1351
1352+// printf("get Caps %"GST_PTR_FORMAT"\n", caps);
1353 return caps;
1354 }
1355
1356@@ -592,7 +672,7 @@ gboolean QVideoSurfaceGstSink::set_caps(GstBaseSink *base, GstCaps *caps)
1357 sink->lastRequestedCaps = 0;
1358
1359 #ifdef DEBUG_VIDEO_SURFACE_SINK
1360- qDebug() << "Staring video surface, format:";
1361+ qDebug() << "Starting video surface, format:";
1362 qDebug() << format;
1363 qDebug() << "bytesPerLine:" << bytesPerLine;
1364 #endif
1365@@ -617,11 +697,49 @@ QVideoSurfaceFormat QVideoSurfaceGstSink::formatForCaps(GstCaps *caps, int *byte
1366 gst_structure_get_int(structure, "width", &size.rwidth());
1367 gst_structure_get_int(structure, "height", &size.rheight());
1368
1369+#if GST_CHECK_VERSION(1, 0, 0)
1370+ GstVideoInfo info;
1371+ gst_video_info_from_caps(&info, caps);
1372+
1373+ if (info.finfo->format == GST_VIDEO_FORMAT_I420) {
1374+ int index = indexOfYuvColor(GST_VIDEO_FORMAT_I420);
1375+
1376+ if (index != -1) {
1377+ pixelFormat = qt_yuvColorLookup[index].pixelFormat;
1378+ bitsPerPixel = qt_yuvColorLookup[index].bitsPerPixel;
1379+ }
1380+ } else if (info.finfo->format == GST_VIDEO_FORMAT_RGBx) {
1381+ int depth = 0;
1382+ int endianness = 0;
1383+ int red = 0;
1384+ int green = 0;
1385+ int blue = 0;
1386+ int alpha = 0;
1387+
1388+ gst_structure_get_int(structure, "bpp", &bitsPerPixel);
1389+ gst_structure_get_int(structure, "depth", &depth);
1390+ gst_structure_get_int(structure, "endianness", &endianness);
1391+ gst_structure_get_int(structure, "red_mask", &red);
1392+ gst_structure_get_int(structure, "green_mask", &green);
1393+ gst_structure_get_int(structure, "blue_mask", &blue);
1394+ gst_structure_get_int(structure, "alpha_mask", &alpha);
1395+
1396+ int index = indexOfRgbColor(bitsPerPixel, depth, endianness, red, green, blue, alpha);
1397+ printf("INDEX %x\n", index);
1398+ if (index != -1)
1399+ pixelFormat = qt_rgbColorLookup[index].pixelFormat;
1400+ }
1401+#else
1402+
1403 if (qstrcmp(gst_structure_get_name(structure), "video/x-raw-yuv") == 0) {
1404 guint32 fourcc = 0;
1405+#if GST_CHECK_VERSION(1, 0, 0)
1406+ int index = indexOfYuvColor(gst_video_format_from_string(gst_structure_get_string(structure, "format")));
1407+#else
1408 gst_structure_get_fourcc(structure, "format", &fourcc);
1409
1410 int index = indexOfYuvColor(fourcc);
1411+#endif
1412 if (index != -1) {
1413 pixelFormat = qt_yuvColorLookup[index].pixelFormat;
1414 bitsPerPixel = qt_yuvColorLookup[index].bitsPerPixel;
1415@@ -647,6 +765,7 @@ QVideoSurfaceFormat QVideoSurfaceGstSink::formatForCaps(GstCaps *caps, int *byte
1416 if (index != -1)
1417 pixelFormat = qt_rgbColorLookup[index].pixelFormat;
1418 }
1419+#endif
1420
1421 if (pixelFormat != QVideoFrame::Format_Invalid) {
1422 QVideoSurfaceFormat format(size, pixelFormat, handleType);
1423@@ -722,7 +841,11 @@ GstFlowReturn QVideoSurfaceGstSink::buffer_alloc(
1424
1425 poolLock.unlock();
1426
1427+#if GST_CHECK_VERSION(1,0,0)
1428+ GstCaps *intersection = gst_caps_intersect(get_caps(GST_BASE_SINK(sink), NULL), caps);
1429+#else
1430 GstCaps *intersection = gst_caps_intersect(get_caps(GST_BASE_SINK(sink)), caps);
1431+#endif
1432
1433 if (gst_caps_is_empty (intersection)) {
1434 gst_caps_unref(intersection);
1435@@ -763,7 +886,7 @@ GstFlowReturn QVideoSurfaceGstSink::buffer_alloc(
1436 QVideoSurfaceFormat surfaceFormat = sink->delegate->surfaceFormat();
1437
1438 if (!pool->isFormatSupported(surfaceFormat)) {
1439- //qDebug() << "sink doesn't support native pool format, skip custom buffers allocation";
1440+ qDebug() << "sink doesn't support native pool format, skip custom buffers allocation";
1441 return GST_FLOW_OK;
1442 }
1443
1444@@ -787,7 +910,6 @@ GstFlowReturn QVideoSurfaceGstSink::buffer_alloc(
1445 gboolean QVideoSurfaceGstSink::start(GstBaseSink *base)
1446 {
1447 Q_UNUSED(base);
1448-
1449 return TRUE;
1450 }
1451
1452diff --git a/src/multimedia/gsttools_headers/qgstappsrc_p.h b/src/multimedia/gsttools_headers/qgstappsrc_p.h
1453index 4af9252..0e0fc0a 100644
1454--- a/src/multimedia/gsttools_headers/qgstappsrc_p.h
1455+++ b/src/multimedia/gsttools_headers/qgstappsrc_p.h
1456@@ -39,7 +39,10 @@
1457
1458 #include <gst/gst.h>
1459 #include <gst/app/gstappsrc.h>
1460+
1461+#if GST_VERSION_MAJOR < 1
1462 #include <gst/app/gstappbuffer.h>
1463+#endif
1464
1465 QT_BEGIN_NAMESPACE
1466
1467diff --git a/src/multimedia/gsttools_headers/qgstreameraudioprobecontrol_p.h b/src/multimedia/gsttools_headers/qgstreameraudioprobecontrol_p.h
1468index 34669b8..0f3b165 100644
1469--- a/src/multimedia/gsttools_headers/qgstreameraudioprobecontrol_p.h
1470+++ b/src/multimedia/gsttools_headers/qgstreameraudioprobecontrol_p.h
1471@@ -47,8 +47,11 @@ class QGstreamerAudioProbeControl : public QMediaAudioProbeControl
1472 public:
1473 explicit QGstreamerAudioProbeControl(QObject *parent);
1474 virtual ~QGstreamerAudioProbeControl();
1475-
1476+#if GST_CHECK_VERSION(1,0,0)
1477+ void bufferProbed(GstBuffer* buffer, GstCaps* caps);
1478+#else
1479 void bufferProbed(GstBuffer* buffer);
1480+#endif
1481
1482 private slots:
1483 void bufferProbed();
1484diff --git a/src/multimedia/gsttools_headers/qgstreamervideoprobecontrol_p.h b/src/multimedia/gsttools_headers/qgstreamervideoprobecontrol_p.h
1485index 49064f9..fce6309 100644
1486--- a/src/multimedia/gsttools_headers/qgstreamervideoprobecontrol_p.h
1487+++ b/src/multimedia/gsttools_headers/qgstreamervideoprobecontrol_p.h
1488@@ -48,7 +48,11 @@ public:
1489 explicit QGstreamerVideoProbeControl(QObject *parent);
1490 virtual ~QGstreamerVideoProbeControl();
1491
1492+#if GST_CHECK_VERSION(1,0,0)
1493+ void bufferProbed(GstBuffer* buffer, GstCaps*);
1494+#else
1495 void bufferProbed(GstBuffer* buffer);
1496+#endif
1497 void startFlushing();
1498 void stopFlushing();
1499
1500diff --git a/src/multimedia/gsttools_headers/qgstreamervideowindow_p.h b/src/multimedia/gsttools_headers/qgstreamervideowindow_p.h
1501index 81e5764..c9fdb5c 100644
1502--- a/src/multimedia/gsttools_headers/qgstreamervideowindow_p.h
1503+++ b/src/multimedia/gsttools_headers/qgstreamervideowindow_p.h
1504@@ -104,7 +104,11 @@ private slots:
1505 void updateNativeVideoSize();
1506
1507 private:
1508+#if GST_CHECK_VERSION(1,0,0)
1509+ static GstPadProbeReturn padBufferProbe(GstPad *pad, GstPadProbeInfo *info, gpointer user_data);
1510+#else
1511 static void padBufferProbe(GstPad *pad, GstBuffer *buffer, gpointer user_data);
1512+#endif
1513
1514 GstElement *m_videoSink;
1515 WId m_windowId;
1516diff --git a/src/multimedia/gsttools_headers/qgstutils_p.h b/src/multimedia/gsttools_headers/qgstutils_p.h
1517index 48434b2..96c23cb 100644
1518--- a/src/multimedia/gsttools_headers/qgstutils_p.h
1519+++ b/src/multimedia/gsttools_headers/qgstutils_p.h
1520@@ -72,7 +72,11 @@ namespace QGstUtils {
1521 QSize capsResolution(const GstCaps *caps);
1522 QSize capsCorrectedResolution(const GstCaps *caps);
1523 QAudioFormat audioFormatForCaps(const GstCaps *caps);
1524+#if GST_CHECK_VERSION(1,0,0)
1525+ QAudioFormat audioFormatForSample(GstSample *sample);
1526+#else
1527 QAudioFormat audioFormatForBuffer(GstBuffer *buffer);
1528+#endif
1529 GstCaps *capsForAudioFormat(QAudioFormat format);
1530 void initializeGst();
1531 QMultimedia::SupportEstimate hasSupport(const QString &mimeType,
1532diff --git a/src/multimedia/gsttools_headers/qgstvideobuffer_p.h b/src/multimedia/gsttools_headers/qgstvideobuffer_p.h
1533index 1e0fda8..be48820 100644
1534--- a/src/multimedia/gsttools_headers/qgstvideobuffer_p.h
1535+++ b/src/multimedia/gsttools_headers/qgstvideobuffer_p.h
1536@@ -71,6 +71,9 @@ private:
1537 int m_bytesPerLine;
1538 MapMode m_mode;
1539 QVariant m_handle;
1540+#if GST_CHECK_VERSION(1,0,0)
1541+ GstMapInfo m_mapInfo;
1542+#endif
1543 };
1544
1545 QT_END_NAMESPACE
1546diff --git a/src/multimedia/gsttools_headers/qvideosurfacegstsink_p.h b/src/multimedia/gsttools_headers/qvideosurfacegstsink_p.h
1547index 11b305d..01935f7 100644
1548--- a/src/multimedia/gsttools_headers/qvideosurfacegstsink_p.h
1549+++ b/src/multimedia/gsttools_headers/qvideosurfacegstsink_p.h
1550@@ -131,7 +131,11 @@ private:
1551
1552 static GstStateChangeReturn change_state(GstElement *element, GstStateChange transition);
1553
1554- static GstCaps *get_caps(GstBaseSink *sink);
1555+ static GstCaps *get_caps(GstBaseSink *sink
1556+#if GST_CHECK_VERSION(1,0,0)
1557+ , GstCaps* /*filterCaps*/
1558+#endif
1559+ );
1560 static gboolean set_caps(GstBaseSink *sink, GstCaps *caps);
1561
1562 static GstFlowReturn buffer_alloc(
1563diff --git a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplugin.cpp b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplugin.cpp
1564index 3098aab..9c54663 100644
1565--- a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplugin.cpp
1566+++ b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecoderserviceplugin.cpp
1567@@ -74,29 +74,42 @@ void QGstreamerAudioDecoderServicePlugin::updateSupportedMimeTypes() const
1568 gst_init(NULL, NULL);
1569
1570 GList *plugins, *orig_plugins;
1571+#if GST_CHECK_VERSION(1,0,0)
1572+ orig_plugins = plugins = gst_registry_get_plugin_list (gst_registry_get());
1573+#else
1574 orig_plugins = plugins = gst_default_registry_get_plugin_list ();
1575-
1576+#endif
1577 while (plugins) {
1578 GList *features, *orig_features;
1579
1580 GstPlugin *plugin = (GstPlugin *) (plugins->data);
1581 plugins = g_list_next (plugins);
1582
1583+#if GST_CHECK_VERSION(1,0,0)
1584+ if (GST_OBJECT_FLAG_IS_SET(plugin, GST_PLUGIN_FLAG_BLACKLISTED))
1585+ continue;
1586+#else
1587 if (plugin->flags & (1<<1)) //GST_PLUGIN_FLAG_BLACKLISTED
1588 continue;
1589-
1590- orig_features = features = gst_registry_get_feature_list_by_plugin(gst_registry_get_default (),
1591- plugin->desc.name);
1592+#endif
1593+ orig_features = features = gst_registry_get_feature_list_by_plugin(gst_registry_get (),
1594+ gst_plugin_get_name(plugin));
1595 while (features) {
1596 if (!G_UNLIKELY(features->data == NULL)) {
1597 GstPluginFeature *feature = GST_PLUGIN_FEATURE(features->data);
1598 if (GST_IS_ELEMENT_FACTORY (feature)) {
1599 GstElementFactory *factory = GST_ELEMENT_FACTORY(gst_plugin_feature_load(feature));
1600 if (factory
1601- && factory->numpadtemplates > 0
1602+ && gst_element_factory_get_num_pad_templates(factory) > 0
1603+#if GST_CHECK_VERSION(1,0,0)
1604+ && (qstrcmp(gst_element_factory_get_metadata(factory, GST_ELEMENT_METADATA_KLASS), "Codec/Decoder/Audio") == 0
1605+ || qstrcmp(gst_element_factory_get_metadata(factory, GST_ELEMENT_METADATA_KLASS), "Codec/Demux") == 0 )
1606+#else
1607 && (qstrcmp(factory->details.klass, "Codec/Decoder/Audio") == 0
1608- || qstrcmp(factory->details.klass, "Codec/Demux") == 0 )) {
1609- const GList *pads = factory->staticpadtemplates;
1610+ || qstrcmp(factory->details.klass, "Codec/Demux") == 0 )
1611+#endif
1612+ ) {
1613+ const GList *pads = gst_element_factory_get_static_pad_templates(factory);
1614 while (pads) {
1615 GstStaticPadTemplate *padtemplate = (GstStaticPadTemplate*)(pads->data);
1616 pads = g_list_next (pads);
1617diff --git a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp
1618index f944a60..72d1cf1 100644
1619--- a/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp
1620+++ b/src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp
1621@@ -446,21 +446,40 @@ QAudioBuffer QGstreamerAudioDecoderSession::read()
1622 if (buffersAvailable == 1)
1623 emit bufferAvailableChanged(false);
1624
1625+ const char* bufferData = 0;
1626+ int bufferSize = 0;
1627+
1628+#if GST_CHECK_VERSION(1,0,0)
1629+ GstSample *sample = gst_app_sink_pull_sample(m_appSink);
1630+ GstBuffer *buffer = gst_sample_get_buffer(sample);
1631+ GstMapInfo mapInfo;
1632+ gst_buffer_map(buffer, &mapInfo, GST_MAP_READ);
1633+ bufferData = (const char*)mapInfo.data;
1634+ bufferSize = mapInfo.size;
1635+ QAudioFormat format = QGstUtils::audioFormatForSample(sample);
1636+#else
1637 GstBuffer *buffer = gst_app_sink_pull_buffer(m_appSink);
1638-
1639+ bufferData = (const char*)buffer->data;
1640+ bufferSize = buffer->size;
1641 QAudioFormat format = QGstUtils::audioFormatForBuffer(buffer);
1642+#endif
1643+
1644 if (format.isValid()) {
1645 // XXX At the moment we have to copy data from GstBuffer into QAudioBuffer.
1646 // We could improve performance by implementing QAbstractAudioBuffer for GstBuffer.
1647 qint64 position = getPositionFromBuffer(buffer);
1648- audioBuffer = QAudioBuffer(QByteArray((const char*)buffer->data, buffer->size), format, position);
1649+ audioBuffer = QAudioBuffer(QByteArray((const char*)bufferData, bufferSize), format, position);
1650 position /= 1000; // convert to milliseconds
1651 if (position != m_position) {
1652 m_position = position;
1653 emit positionChanged(m_position);
1654 }
1655 }
1656+#if GST_CHECK_VERSION(1,0,0)
1657+ gst_sample_unref(sample);
1658+#else
1659 gst_buffer_unref(buffer);
1660+#endif
1661 }
1662
1663 return audioBuffer;
1664@@ -531,7 +550,12 @@ void QGstreamerAudioDecoderSession::addAppSink()
1665
1666 GstAppSinkCallbacks callbacks;
1667 memset(&callbacks, 0, sizeof(callbacks));
1668+#if GST_CHECK_VERSION(1,0,0)
1669+ // ### Should perhaps also rename new_buffer to new_sample.
1670+ callbacks.new_sample = &new_buffer;
1671+#else
1672 callbacks.new_buffer = &new_buffer;
1673+#endif
1674 gst_app_sink_set_callbacks(m_appSink, &callbacks, this, NULL);
1675 gst_app_sink_set_max_buffers(m_appSink, MAX_BUFFERS_IN_QUEUE);
1676 gst_base_sink_set_sync(GST_BASE_SINK(m_appSink), FALSE);
1677@@ -557,8 +581,13 @@ void QGstreamerAudioDecoderSession::updateDuration()
1678 gint64 gstDuration = 0;
1679 int duration = -1;
1680
1681+#if GST_CHECK_VERSION(1,0,0)
1682+ if (m_playbin && gst_element_query_duration(m_playbin, format, &gstDuration))
1683+ duration = gstDuration / 1000000;
1684+#else
1685 if (m_playbin && gst_element_query_duration(m_playbin, &format, &gstDuration))
1686 duration = gstDuration / 1000000;
1687+#endif
1688
1689 if (m_duration != duration) {
1690 m_duration = duration;
1691diff --git a/src/plugins/gstreamer/camerabin/camerabinsession.cpp b/src/plugins/gstreamer/camerabin/camerabinsession.cpp
1692index 850f8c1..f4e2383 100644
1693--- a/src/plugins/gstreamer/camerabin/camerabinsession.cpp
1694+++ b/src/plugins/gstreamer/camerabin/camerabinsession.cpp
1695@@ -724,7 +724,11 @@ qint64 CameraBinSession::duration() const
1696 GstFormat format = GST_FORMAT_TIME;
1697 gint64 duration = 0;
1698
1699+#if GST_CHECK_VERSION(1,0,0)
1700+ if ( m_camerabin && gst_element_query_duration(m_camerabin, format, &duration))
1701+#else
1702 if ( m_camerabin && gst_element_query_position(m_camerabin, &format, &duration))
1703+#endif
1704 return duration / 1000000;
1705 else
1706 return 0;
1707@@ -757,8 +761,13 @@ void CameraBinSession::setMetaData(const QMap<QByteArray, QVariant> &data)
1708
1709 if (m_camerabin) {
1710 GstIterator *elements = gst_bin_iterate_all_by_interface(GST_BIN(m_camerabin), GST_TYPE_TAG_SETTER);
1711+#if GST_CHECK_VERSION(1,0,0)
1712+ GValue *element = 0;
1713+ while (gst_iterator_next(elements, element) == GST_ITERATOR_OK) {
1714+#else
1715 GstElement *element = 0;
1716 while (gst_iterator_next(elements, (void**)&element) == GST_ITERATOR_OK) {
1717+#endif
1718 gst_tag_setter_reset_tags(GST_TAG_SETTER(element));
1719
1720 QMapIterator<QByteArray, QVariant> it(data);
1721@@ -819,7 +828,11 @@ bool CameraBinSession::processSyncMessage(const QGstreamerMessage &message)
1722
1723 if (gm && GST_MESSAGE_TYPE(gm) == GST_MESSAGE_ELEMENT) {
1724 if (m_captureMode == QCamera::CaptureStillImage &&
1725+#if GST_CHECK_VERSION(1,0,0)
1726+ gst_message_has_name (gm, "preview-image")) {
1727+#else
1728 gst_structure_has_name(gm->structure, "preview-image")) {
1729+#endif
1730 st = gst_message_get_structure(gm);
1731
1732 if (gst_structure_has_field_typed(st, "buffer", GST_TYPE_BUFFER)) {
1733@@ -829,7 +842,11 @@ bool CameraBinSession::processSyncMessage(const QGstreamerMessage &message)
1734
1735 QImage img;
1736
1737+#if GST_CHECK_VERSION(1,0,0)
1738 GstCaps *caps = gst_buffer_get_caps(buffer);
1739+#else
1740+ GstCaps *caps = gst_buffer_get_caps(buffer);
1741+#endif
1742 if (caps) {
1743 GstStructure *structure = gst_caps_get_structure(caps, 0);
1744 gint width = 0;
1745@@ -1102,7 +1119,11 @@ QList< QPair<int,int> > CameraBinSession::supportedFrameRates(const QSize &frame
1746 gst_structure_remove_all_fields(structure);
1747 gst_structure_set_value(structure, "framerate", &rate);
1748 }
1749+#if GST_CHECK_VERSION(1,0,0)
1750+ caps = gst_caps_simplify(caps);
1751+#else
1752 gst_caps_do_simplify(caps);
1753+#endif
1754
1755
1756 for (uint i=0; i<gst_caps_get_size(caps); i++) {
1757@@ -1222,7 +1243,11 @@ QList<QSize> CameraBinSession::supportedResolutions(QPair<int,int> rate,
1758 gst_structure_set_value(structure, "width", &w);
1759 gst_structure_set_value(structure, "height", &h);
1760 }
1761+#if GST_CHECK_VERSION(1,0,0)
1762+ caps = gst_caps_simplify(caps);
1763+#else
1764 gst_caps_do_simplify(caps);
1765+#endif
1766
1767 for (uint i=0; i<gst_caps_get_size(caps); i++) {
1768 GstStructure *structure = gst_caps_get_structure(caps, i);
1769diff --git a/src/plugins/gstreamer/common.pri b/src/plugins/gstreamer/common.pri
1770index 8b421b8..2e7f746 100644
1771--- a/src/plugins/gstreamer/common.pri
1772+++ b/src/plugins/gstreamer/common.pri
1773@@ -12,14 +12,17 @@ LIBS += -lqgsttools_p
1774 CONFIG += link_pkgconfig
1775
1776 PKGCONFIG += \
1777- gstreamer-0.10 \
1778- gstreamer-base-0.10 \
1779- gstreamer-interfaces-0.10 \
1780- gstreamer-audio-0.10 \
1781- gstreamer-video-0.10 \
1782- gstreamer-pbutils-0.10
1783+ gstreamer-$$GST_VERSION \
1784+ gstreamer-base-$$GST_VERSION \
1785+ gstreamer-audio-$$GST_VERSION \
1786+ gstreamer-video-$$GST_VERSION \
1787+ gstreamer-pbutils-$$GST_VERSION
1788
1789-maemo*:PKGCONFIG +=gstreamer-plugins-bad-0.10
1790+maemo*:PKGCONFIG +=gstreamer-plugins-bad-$$GST_VERSION
1791+
1792+mir: {
1793+ DEFINES += HAVE_MIR
1794+}
1795
1796 config_resourcepolicy {
1797 DEFINES += HAVE_RESOURCE_POLICY
1798@@ -27,8 +30,8 @@ config_resourcepolicy {
1799 }
1800
1801 config_gstreamer_appsrc {
1802- PKGCONFIG += gstreamer-app-0.10
1803+ PKGCONFIG += gstreamer-app-$$GST_VERSION
1804 DEFINES += HAVE_GST_APPSRC
1805- LIBS += -lgstapp-0.10
1806+ LIBS += -lgstapp-$$GST_VERSION
1807 }
1808
1809diff --git a/src/plugins/gstreamer/gstreamer.pro b/src/plugins/gstreamer/gstreamer.pro
1810index 7649010..fce55ac 100644
1811--- a/src/plugins/gstreamer/gstreamer.pro
1812+++ b/src/plugins/gstreamer/gstreamer.pro
1813@@ -2,11 +2,10 @@ TEMPLATE = subdirs
1814
1815 SUBDIRS += \
1816 audiodecoder \
1817- mediacapture \
1818 mediaplayer
1819
1820 config_gstreamer_encodingprofiles {
1821- SUBDIRS += camerabin
1822+# SUBDIRS += camerabin
1823 }
1824
1825 OTHER_FILES += \
1826diff --git a/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp b/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp
1827index a2bd80d..d12e9a5 100644
1828--- a/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp
1829+++ b/src/plugins/gstreamer/mediacapture/qgstreamercapturesession.cpp
1830@@ -498,6 +498,11 @@ GstElement *QGstreamerCaptureSession::buildImageCapture()
1831 gst_pad_add_buffer_probe(pad, G_CALLBACK(passImageFilter), this);
1832 gst_object_unref(GST_OBJECT(pad));
1833
1834+#if GST_CHECK_VERSION(1,0,0)
1835+ gst_pad_add_probe(pad, GST_PAD_PROBE_TYPE_BUFFER, passImageFilter, this);
1836+#else
1837+ gst_pad_add_buffer_probe(pad, G_CALLBACK(passImageFilter), this);
1838+#endif
1839 g_object_set(G_OBJECT(sink), "signal-handoffs", TRUE, NULL);
1840 g_signal_connect(G_OBJECT(sink), "handoff",
1841 G_CALLBACK(saveImageFilter), this);
1842diff --git a/src/plugins/gstreamer/mediaplayer/mediaplayer.pro b/src/plugins/gstreamer/mediaplayer/mediaplayer.pro
1843index 2ca9377..b986fc7 100644
1844--- a/src/plugins/gstreamer/mediaplayer/mediaplayer.pro
1845+++ b/src/plugins/gstreamer/mediaplayer/mediaplayer.pro
1846@@ -28,4 +28,3 @@ SOURCES += \
1847
1848 OTHER_FILES += \
1849 mediaplayer.json
1850-
1851diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
1852index fed756a..8239710 100644
1853--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
1854+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayercontrol.cpp
1855@@ -537,6 +537,8 @@ void QGstreamerPlayerControl::processEOS()
1856 m_session->showPrerollFrames(false); // stop showing prerolled frames in stop state
1857 }
1858
1859+ qWarning() << "Processing EOS!";
1860+
1861 popAndNotifyState();
1862 }
1863
1864diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
1865index ce267d7..062de07 100644
1866--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
1867+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerservice.cpp
1868@@ -51,7 +51,11 @@
1869 #include <private/qgstreamervideorenderer_p.h>
1870
1871 #if defined(Q_WS_MAEMO_6) && defined(__arm__)
1872-#include "qgstreamergltexturerenderer.h"
1873+#include "private/qgstreamergltexturerenderer.h"
1874+#endif
1875+
1876+#if defined(HAVE_MIR) && defined (__arm__)
1877+#include "private/qgstreamermirtexturerenderer_p.h"
1878 #endif
1879
1880 #include "qgstreamerstreamscontrol.h"
1881@@ -82,6 +86,9 @@ QGstreamerPlayerService::QGstreamerPlayerService(QObject *parent):
1882
1883 #if defined(Q_WS_MAEMO_6) && defined(__arm__)
1884 m_videoRenderer = new QGstreamerGLTextureRenderer(this);
1885+#elif defined(HAVE_MIR) && defined (__arm__)
1886+ //m_videoRenderer = new QGstreamerVideoRenderer(this);
1887+ m_videoRenderer = new QGstreamerMirTextureRenderer(this, m_session);
1888 #else
1889 m_videoRenderer = new QGstreamerVideoRenderer(this);
1890 #endif
1891diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp
1892index 7d20b6d..bf2f9f8 100644
1893--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp
1894+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayerserviceplugin.cpp
1895@@ -87,7 +87,11 @@ void QGstreamerPlayerServicePlugin::updateSupportedMimeTypes() const
1896 gst_init(NULL, NULL);
1897
1898 GList *plugins, *orig_plugins;
1899+#if GST_CHECK_VERSION(1,0,0)
1900+ orig_plugins = plugins = gst_registry_get_plugin_list (gst_registry_get());
1901+#else
1902 orig_plugins = plugins = gst_default_registry_get_plugin_list ();
1903+#endif
1904
1905 while (plugins) {
1906 GList *features, *orig_features;
1907@@ -95,22 +99,33 @@ void QGstreamerPlayerServicePlugin::updateSupportedMimeTypes() const
1908 GstPlugin *plugin = (GstPlugin *) (plugins->data);
1909 plugins = g_list_next (plugins);
1910
1911+#if GST_CHECK_VERSION(1,0,0)
1912+ if (GST_OBJECT_FLAG_IS_SET(plugin, GST_PLUGIN_FLAG_BLACKLISTED))
1913+ continue;
1914+#else
1915 if (plugin->flags & (1<<1)) //GST_PLUGIN_FLAG_BLACKLISTED
1916 continue;
1917+#endif
1918
1919- orig_features = features = gst_registry_get_feature_list_by_plugin(gst_registry_get_default (),
1920- plugin->desc.name);
1921+ orig_features = features = gst_registry_get_feature_list_by_plugin(gst_registry_get(),
1922+ gst_plugin_get_name(plugin));
1923 while (features) {
1924 if (!G_UNLIKELY(features->data == NULL)) {
1925 GstPluginFeature *feature = GST_PLUGIN_FEATURE(features->data);
1926 if (GST_IS_ELEMENT_FACTORY (feature)) {
1927 GstElementFactory *factory = GST_ELEMENT_FACTORY(gst_plugin_feature_load(feature));
1928 if (factory
1929- && factory->numpadtemplates > 0
1930- && (qstrcmp(factory->details.klass, "Codec/Decoder/Audio") == 0
1931+#if GST_CHECK_VERSION(1,0,0)
1932+ && (qstrcmp(gst_element_factory_get_metadata(factory, GST_ELEMENT_METADATA_KLASS), "Codec/Decoder/Audio") == 0
1933+ || qstrcmp(gst_element_factory_get_metadata(factory, GST_ELEMENT_METADATA_KLASS),"Codec/Decoder/Video") == 0
1934+ || qstrcmp(gst_element_factory_get_metadata(factory, GST_ELEMENT_METADATA_KLASS), "Codec/Demux") == 0 )
1935+#else
1936+ && (qstrcmp(factory->details.klass, "Codec/Decoder/Audio") == 0
1937 || qstrcmp(factory->details.klass, "Codec/Decoder/Video") == 0
1938- || qstrcmp(factory->details.klass, "Codec/Demux") == 0 )) {
1939- const GList *pads = factory->staticpadtemplates;
1940+ || qstrcmp(factory->details.klass, "Codec/Demux") == 0 )
1941+#endif
1942+ ) {
1943+ const GList *pads = gst_element_factory_get_static_pad_templates(factory);
1944 while (pads) {
1945 GstStaticPadTemplate *padtemplate = (GstStaticPadTemplate*)(pads->data);
1946 pads = g_list_next (pads);
1947diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
1948index 15924a6..8013d0d 100644
1949--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
1950+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
1951@@ -85,6 +85,16 @@ typedef enum {
1952 GST_PLAY_FLAG_BUFFERING = 0x000000100
1953 } GstPlayFlags;
1954
1955+#if GST_CHECK_VERSION(1,0,0)
1956+#define DEFAULT_RAW_CAPS \
1957+ "video/x-surface; " \
1958+ "text/plain; " \
1959+ "text/x-pango-markup; " \
1960+ "video/x-dvd-subpicture; " \
1961+ "subpicture/x-pgs" \
1962+ "video/x-raw" \
1963+ "audio/x-raw"
1964+#else
1965 #define DEFAULT_RAW_CAPS \
1966 "video/x-raw-yuv; " \
1967 "video/x-raw-rgb; " \
1968@@ -97,6 +107,8 @@ typedef enum {
1969 "text/x-pango-markup; " \
1970 "video/x-dvd-subpicture; " \
1971 "subpicture/x-pgs"
1972+#endif
1973+
1974 static GstStaticCaps static_RawCaps = GST_STATIC_CAPS(DEFAULT_RAW_CAPS);
1975
1976 QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
1977@@ -137,8 +149,11 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
1978 gboolean result = gst_type_find_register(0, "playlist", GST_RANK_MARGINAL, playlistTypeFindFunction, 0, 0, this, 0);
1979 Q_ASSERT(result == TRUE);
1980 Q_UNUSED(result);
1981-
1982+#if GST_CHECK_VERSION(1,0,0)
1983+ m_playbin = gst_element_factory_make("playbin", NULL);
1984+#else
1985 m_playbin = gst_element_factory_make("playbin2", NULL);
1986+#endif
1987
1988 if (m_playbin) {
1989 //GST_PLAY_FLAG_NATIVE_VIDEO omits configuration of ffmpegcolorspace and videoscale,
1990@@ -188,7 +203,11 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
1991 m_videoIdentity = GST_ELEMENT(g_object_new(gst_video_connector_get_type(), 0)); // floating ref
1992 g_signal_connect(G_OBJECT(m_videoIdentity), "connection-failed", G_CALLBACK(insertColorSpaceElement), (gpointer)this);
1993
1994+#if GST_CHECK_VERSION(1,0,0)
1995+ m_colorSpace = gst_element_factory_make("videoconvert", "ffmpegcolorspace-vo");
1996+#else
1997 m_colorSpace = gst_element_factory_make("ffmpegcolorspace", "ffmpegcolorspace-vo");
1998+#endif
1999 // might not get a parent, take ownership to avoid leak
2000 qt_gst_object_ref_sink(GST_OBJECT(m_colorSpace));
2001
2002@@ -206,7 +225,7 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
2003
2004 // add ghostpads
2005 GstPad *pad = gst_element_get_static_pad(m_videoIdentity,"sink");
2006- gst_element_add_pad(GST_ELEMENT(m_videoOutputBin), gst_ghost_pad_new("videosink", pad));
2007+ gst_element_add_pad(GST_ELEMENT(m_videoOutputBin), gst_ghost_pad_new("sink", pad));
2008 gst_object_unref(GST_OBJECT(pad));
2009
2010 if (m_playbin != 0) {
2011@@ -218,7 +237,7 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
2012 g_object_set(G_OBJECT(m_playbin), "video-sink", m_videoOutputBin, NULL);
2013
2014 g_signal_connect(G_OBJECT(m_playbin), "notify::source", G_CALLBACK(playbinNotifySource), this);
2015- g_signal_connect(G_OBJECT(m_playbin), "element-added", G_CALLBACK(handleElementAdded), this);
2016+ //g_signal_connect(G_OBJECT(m_playbin), "element-added", G_CALLBACK(handleElementAdded), this);
2017
2018 if (usePlaybinVolume()) {
2019 updateVolume();
2020@@ -342,9 +361,13 @@ qint64 QGstreamerPlayerSession::position() const
2021 GstFormat format = GST_FORMAT_TIME;
2022 gint64 position = 0;
2023
2024+#if GST_CHECK_VERSION(1,0,0)
2025+ if ( m_playbin && gst_element_query_position(m_playbin, format, &position))
2026+ m_lastPosition = position / 1000000;
2027+#else
2028 if ( m_playbin && gst_element_query_position(m_playbin, &format, &position))
2029 m_lastPosition = position / 1000000;
2030-
2031+#endif
2032 return m_lastPosition;
2033 }
2034
2035@@ -474,9 +497,18 @@ bool QGstreamerPlayerSession::isAudioAvailable() const
2036 return m_audioAvailable;
2037 }
2038
2039+#if GST_CHECK_VERSION(1,0,0)
2040+static GstPadProbeReturn block_pad_cb(GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
2041+#else
2042 static void block_pad_cb(GstPad *pad, gboolean blocked, gpointer user_data)
2043+#endif
2044 {
2045 Q_UNUSED(pad);
2046+#if GST_CHECK_VERSION(1,0,0)
2047+ Q_UNUSED(info);
2048+ Q_UNUSED(user_data);
2049+ return GST_PAD_PROBE_OK;
2050+#else
2051 #ifdef DEBUG_PLAYBIN
2052 qDebug() << "block_pad_cb, blocked:" << blocked;
2053 #endif
2054@@ -485,6 +517,7 @@ static void block_pad_cb(GstPad *pad, gboolean blocked, gpointer user_data)
2055 QGstreamerPlayerSession *session = reinterpret_cast<QGstreamerPlayerSession*>(user_data);
2056 QMetaObject::invokeMethod(session, "finishVideoOutputChange", Qt::QueuedConnection);
2057 }
2058+#endif
2059 }
2060
2061 void QGstreamerPlayerSession::updateVideoRenderer()
2062@@ -529,7 +562,7 @@ void QGstreamerPlayerSession::setVideoRenderer(QObject *videoOutput)
2063 m_renderer = renderer;
2064
2065 #ifdef DEBUG_VO_BIN_DUMP
2066- _gst_debug_bin_to_dot_file_with_ts(GST_BIN(m_playbin),
2067+ gst_debug_bin_to_dot_file_with_ts(GST_BIN(m_playbin),
2068 GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES*/),
2069 "playbin_set");
2070 #endif
2071@@ -633,7 +666,11 @@ void QGstreamerPlayerSession::setVideoRenderer(QObject *videoOutput)
2072
2073 //block pads, async to avoid locking in paused state
2074 GstPad *srcPad = gst_element_get_static_pad(m_videoIdentity, "src");
2075+#if GST_CHECK_VERSION(1,0,0)
2076+ this->pad_probe_id = gst_pad_add_probe(srcPad, (GstPadProbeType)(GST_PAD_PROBE_TYPE_BUFFER | GST_PAD_PROBE_TYPE_BLOCK), block_pad_cb, this, NULL);
2077+#else
2078 gst_pad_set_blocked_async(srcPad, true, &block_pad_cb, this);
2079+#endif
2080 gst_object_unref(GST_OBJECT(srcPad));
2081
2082 //Unpause the sink to avoid waiting until the buffer is processed
2083@@ -674,7 +711,11 @@ void QGstreamerPlayerSession::finishVideoOutputChange()
2084 //video output was change back to the current one,
2085 //no need to torment the pipeline, just unblock the pad
2086 if (gst_pad_is_blocked(srcPad))
2087+#if GST_CHECK_VERSION(1,0,0)
2088+ gst_pad_remove_probe(srcPad, this->pad_probe_id);
2089+#else
2090 gst_pad_set_blocked_async(srcPad, false, &block_pad_cb, 0);
2091+#endif
2092
2093 m_pendingVideoSink = 0;
2094 gst_object_unref(GST_OBJECT(srcPad));
2095@@ -760,12 +801,17 @@ void QGstreamerPlayerSession::finishVideoOutputChange()
2096
2097 //don't have to wait here, it will unblock eventually
2098 if (gst_pad_is_blocked(srcPad))
2099- gst_pad_set_blocked_async(srcPad, false, &block_pad_cb, 0);
2100+#if GST_CHECK_VERSION(1,0,0)
2101+ gst_pad_remove_probe(srcPad, this->pad_probe_id);
2102+#else
2103+ gst_pad_set_blocked_async(srcPad, false, &block_pad_cb, 0);
2104+#endif
2105+
2106 gst_object_unref(GST_OBJECT(srcPad));
2107
2108 #ifdef DEBUG_VO_BIN_DUMP
2109- _gst_debug_bin_to_dot_file_with_ts(GST_BIN(m_playbin),
2110- GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES*/),
2111+ gst_debug_bin_to_dot_file_with_ts(GST_BIN(m_playbin),
2112+ GstDebugGraphDetails(GST_DEBUG_GRAPH_SHOW_ALL /* | GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE | GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS | GST_DEBUG_GRAPH_SHOW_STATES */),
2113 "playbin_finish");
2114 #endif
2115 }
2116@@ -830,6 +876,7 @@ bool QGstreamerPlayerSession::play()
2117 #ifdef DEBUG_PLAYBIN
2118 qDebug() << Q_FUNC_INFO;
2119 #endif
2120+
2121 m_everPlayed = false;
2122 if (m_playbin) {
2123 m_pendingState = QMediaPlayer::PlayingState;
2124@@ -1327,8 +1374,11 @@ void QGstreamerPlayerSession::getStreamsInfo()
2125 default:
2126 break;
2127 }
2128-
2129+#if GST_CHECK_VERSION(1,0,0)
2130+ if (tags && GST_IS_TAG_LIST(tags)) {
2131+#else
2132 if (tags && gst_is_tag_list(tags)) {
2133+#endif
2134 gchar *languageCode = 0;
2135 if (gst_tag_list_get_string(tags, GST_TAG_LANGUAGE_CODE, &languageCode))
2136 streamProperties[QMediaMetaData::Language] = QString::fromUtf8(languageCode);
2137@@ -1367,7 +1417,11 @@ void QGstreamerPlayerSession::updateVideoResolutionTag()
2138 QSize aspectRatio;
2139
2140 GstPad *pad = gst_element_get_static_pad(m_videoIdentity, "src");
2141+#if GST_CHECK_VERSION(1,0,0)
2142+ GstCaps *caps = gst_pad_get_current_caps(pad);
2143+#else
2144 GstCaps *caps = gst_pad_get_negotiated_caps(pad);
2145+#endif
2146
2147 if (caps) {
2148 const GstStructure *structure = gst_caps_get_structure(caps, 0);
2149@@ -1411,7 +1465,11 @@ void QGstreamerPlayerSession::updateDuration()
2150 gint64 gstDuration = 0;
2151 int duration = -1;
2152
2153+#if GST_CHECK_VERSION(1,0,0)
2154+ if (m_playbin && gst_element_query_duration(m_playbin, format, &gstDuration))
2155+#else
2156 if (m_playbin && gst_element_query_duration(m_playbin, &format, &gstDuration))
2157+#endif
2158 duration = gstDuration / 1000000;
2159
2160 if (m_duration != duration) {
2161@@ -1467,7 +1525,11 @@ void QGstreamerPlayerSession::playbinNotifySource(GObject *o, GParamSpec *p, gpo
2162
2163 // The rest
2164 if (g_object_class_find_property(G_OBJECT_GET_CLASS(source), "extra-headers") != 0) {
2165+#if GST_CHECK_VERSION(1,0,0)
2166+ GstStructure *extras = gst_structure_new_empty("extras");
2167+#else
2168 GstStructure *extras = gst_structure_empty_new("extras");
2169+#endif
2170
2171 foreach (const QByteArray &rawHeader, self->m_request.rawHeaderList()) {
2172 if (rawHeader == userAgentString) // Filter User-Agent
2173@@ -1623,7 +1685,11 @@ GstAutoplugSelectResult QGstreamerPlayerSession::handleAutoplugSelect(GstBin *bi
2174 const gchar *factoryName = gst_plugin_feature_get_name(GST_PLUGIN_FEATURE(factory));
2175 if (g_str_has_prefix(factoryName, "vaapi")) {
2176 GstPad *sinkPad = gst_element_get_static_pad(session->m_videoSink, "sink");
2177+#if GST_CHECK_VERSION(1,0,0)
2178+ GstCaps *sinkCaps = gst_pad_query_caps(sinkPad, NULL);
2179+#else
2180 GstCaps *sinkCaps = gst_pad_get_caps(sinkPad);
2181+#endif
2182
2183 #if (GST_VERSION_MAJOR == 0) && ((GST_VERSION_MINOR < 10) || (GST_VERSION_MICRO < 33))
2184 if (!factory_can_src_any_caps(factory, sinkCaps))
2185@@ -1652,14 +1718,19 @@ void QGstreamerPlayerSession::handleElementAdded(GstBin *bin, GstElement *elemen
2186 // Disable on-disk buffering.
2187 g_object_set(G_OBJECT(element), "temp-template", NULL, NULL);
2188 } else if (g_str_has_prefix(elementName, "uridecodebin") ||
2189- g_str_has_prefix(elementName, "decodebin2")) {
2190-
2191+#if GST_CHECK_VERSION(1,0,0)
2192+ g_str_has_prefix(elementName, "decodebin")) {
2193+#else
2194+ g_str_has_prefix(elementName, "decodebin2")) {
2195+#endif
2196 if (g_str_has_prefix(elementName, "uridecodebin")) {
2197 // Add video/x-surface (VAAPI) to default raw formats
2198 g_object_set(G_OBJECT(element), "caps", gst_static_caps_get(&static_RawCaps), NULL);
2199 // listen for uridecodebin autoplug-select to skip VAAPI usage when the current
2200 // video sink doesn't support it
2201+#if !(GST_CHECK_VERSION(1,0,0))
2202 g_signal_connect(element, "autoplug-select", G_CALLBACK(handleAutoplugSelect), session);
2203+#endif
2204 }
2205
2206 //listen for queue2 element added to uridecodebin/decodebin2 as well.
2207@@ -1727,7 +1798,27 @@ void QGstreamerPlayerSession::removeProbe(QGstreamerVideoProbeControl* probe)
2208 // Assume user releases any outstanding references to video frames.
2209 }
2210
2211-gboolean QGstreamerPlayerSession::padVideoBufferProbe(GstPad *pad, GstBuffer *buffer, gpointer user_data)
2212+#if GST_CHECK_VERSION(1,0,0)
2213+GstPadProbeReturn QGstreamerPlayerSession::padVideoBufferProbe(GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
2214+{
2215+ Q_UNUSED(pad);
2216+ GstBuffer* buffer = GST_PAD_PROBE_INFO_BUFFER(info);
2217+
2218+ QGstreamerPlayerSession *session = reinterpret_cast<QGstreamerPlayerSession*>(user_data);
2219+ QMutexLocker locker(&session->m_videoProbeMutex);
2220+
2221+ if (session->m_videoProbes.isEmpty())
2222+ return GST_PAD_PROBE_OK;
2223+
2224+ foreach (QGstreamerVideoProbeControl* probe, session->m_videoProbes)
2225+ probe->bufferProbed(buffer, gst_pad_get_current_caps(pad));
2226+
2227+ return GST_PAD_PROBE_OK;
2228+}
2229+
2230+#else
2231+
2232+static gboolean QGstreamerPlayerSession::padVideoBufferProbe(GstPad *pad, GstBuffer *buffer, gpointer user_data)
2233 {
2234 Q_UNUSED(pad);
2235
2236@@ -1742,6 +1833,7 @@ gboolean QGstreamerPlayerSession::padVideoBufferProbe(GstPad *pad, GstBuffer *bu
2237
2238 return TRUE;
2239 }
2240+#endif
2241
2242 void QGstreamerPlayerSession::addProbe(QGstreamerAudioProbeControl* probe)
2243 {
2244@@ -1759,6 +1851,24 @@ void QGstreamerPlayerSession::removeProbe(QGstreamerAudioProbeControl* probe)
2245 m_audioProbes.removeOne(probe);
2246 }
2247
2248+#if GST_CHECK_VERSION(1,0,0)
2249+GstPadProbeReturn QGstreamerPlayerSession::padAudioBufferProbe(GstPad *pad, GstPadProbeInfo* info, gpointer user_data)
2250+{
2251+ Q_UNUSED(pad);
2252+ GstBuffer* buffer = GST_PAD_PROBE_INFO_BUFFER(info);
2253+
2254+ QGstreamerPlayerSession *session = reinterpret_cast<QGstreamerPlayerSession*>(user_data);
2255+ QMutexLocker locker(&session->m_audioProbeMutex);
2256+
2257+ if (session->m_audioProbes.isEmpty())
2258+ return GST_PAD_PROBE_OK;
2259+
2260+ foreach (QGstreamerAudioProbeControl* probe, session->m_audioProbes)
2261+ probe->bufferProbed(buffer, gst_pad_get_current_caps(pad));
2262+
2263+ return GST_PAD_PROBE_OK;
2264+}
2265+#else
2266 gboolean QGstreamerPlayerSession::padAudioBufferProbe(GstPad *pad, GstBuffer *buffer, gpointer user_data)
2267 {
2268 Q_UNUSED(pad);
2269@@ -1774,7 +1884,7 @@ gboolean QGstreamerPlayerSession::padAudioBufferProbe(GstPad *pad, GstBuffer *bu
2270
2271 return TRUE;
2272 }
2273-
2274+#endif
2275 // This function is similar to stop(),
2276 // but does not set m_everPlayed, m_lastPosition,
2277 // and setSeekable() values.
2278@@ -1807,7 +1917,11 @@ void QGstreamerPlayerSession::removeVideoBufferProbe()
2279
2280 GstPad *pad = gst_element_get_static_pad(m_videoSink, "sink");
2281 if (pad) {
2282+#if GST_CHECK_VERSION(1,0,0)
2283+ gst_pad_remove_probe(pad, m_videoBufferProbeId);
2284+#else
2285 gst_pad_remove_buffer_probe(pad, m_videoBufferProbeId);
2286+#endif
2287 gst_object_unref(GST_OBJECT(pad));
2288 }
2289
2290@@ -1822,7 +1936,11 @@ void QGstreamerPlayerSession::addVideoBufferProbe()
2291
2292 GstPad *pad = gst_element_get_static_pad(m_videoSink, "sink");
2293 if (pad) {
2294+#if GST_CHECK_VERSION(1,0,0)
2295+ m_videoBufferProbeId = gst_pad_add_probe(pad, GST_PAD_PROBE_TYPE_BUFFER, padVideoBufferProbe, this, NULL);
2296+#else
2297 m_videoBufferProbeId = gst_pad_add_buffer_probe(pad, G_CALLBACK(padVideoBufferProbe), this);
2298+#endif
2299 gst_object_unref(GST_OBJECT(pad));
2300 }
2301 }
2302@@ -1839,7 +1957,11 @@ void QGstreamerPlayerSession::removeAudioBufferProbe()
2303
2304 GstPad *pad = gst_element_get_static_pad(m_audioSink, "sink");
2305 if (pad) {
2306+#if GST_CHECK_VERSION(1,0,0)
2307+ gst_pad_remove_probe(pad, m_audioBufferProbeId);
2308+#else
2309 gst_pad_remove_buffer_probe(pad, m_audioBufferProbeId);
2310+#endif
2311 gst_object_unref(GST_OBJECT(pad));
2312 }
2313
2314@@ -1854,7 +1976,11 @@ void QGstreamerPlayerSession::addAudioBufferProbe()
2315
2316 GstPad *pad = gst_element_get_static_pad(m_audioSink, "sink");
2317 if (pad) {
2318+#if GST_CHECK_VERSION(1,0,0)
2319+ m_audioBufferProbeId = gst_pad_add_probe(pad, GST_PAD_PROBE_TYPE_BUFFER, padAudioBufferProbe, this, NULL);
2320+#else
2321 m_audioBufferProbeId = gst_pad_add_buffer_probe(pad, G_CALLBACK(padAudioBufferProbe), this);
2322+#endif
2323 gst_object_unref(GST_OBJECT(pad));
2324 }
2325 }
2326@@ -1887,7 +2013,7 @@ void QGstreamerPlayerSession::playlistTypeFindFunction(GstTypeFind *find, gpoint
2327 length = qMin(length, guint64(1024));
2328
2329 while (length > 0) {
2330- guint8 *data = gst_type_find_peek(find, 0, length);
2331+ const guint8 *data = gst_type_find_peek(find, 0, length);
2332 if (data) {
2333 session->m_isPlaylist = (QPlaylistFileParser::findPlaylistType(QString::fromUtf8(uri), 0, data, length) != QPlaylistFileParser::UNKNOWN);
2334 return;
2335diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.h b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.h
2336index f2e760a..50bda3d 100644
2337--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.h
2338+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.h
2339@@ -119,11 +119,19 @@ public:
2340
2341 void addProbe(QGstreamerVideoProbeControl* probe);
2342 void removeProbe(QGstreamerVideoProbeControl* probe);
2343+#if GST_CHECK_VERSION(1,0,0)
2344+ static GstPadProbeReturn padVideoBufferProbe(GstPad *pad, GstPadProbeInfo *info, gpointer user_data);
2345+#else
2346 static gboolean padVideoBufferProbe(GstPad *pad, GstBuffer *buffer, gpointer user_data);
2347+#endif
2348
2349 void addProbe(QGstreamerAudioProbeControl* probe);
2350 void removeProbe(QGstreamerAudioProbeControl* probe);
2351+#if GST_CHECK_VERSION(1,0,0)
2352+ static GstPadProbeReturn padAudioBufferProbe(GstPad *pad, GstPadProbeInfo* info, gpointer user_data);
2353+#else
2354 static gboolean padAudioBufferProbe(GstPad *pad, GstBuffer *buffer, gpointer user_data);
2355+#endif
2356
2357 void endOfMediaReset();
2358
2359@@ -252,6 +260,7 @@ private:
2360 bool m_isLiveSource;
2361
2362 bool m_isPlaylist;
2363+ gulong pad_probe_id;
2364 };
2365
2366 QT_END_NAMESPACE
2367--
23682.1.1
2369
diff --git a/recipes-qt/qt5/qtmultimedia-git/0002-qtmultimedia.pro-Respect-OE_GSTREAMER_ENABLED-OE_GST.patch b/recipes-qt/qt5/qtmultimedia-git/0002-qtmultimedia.pro-Respect-OE_GSTREAMER_ENABLED-OE_GST.patch
new file mode 100644
index 00000000..1f82d49c
--- /dev/null
+++ b/recipes-qt/qt5/qtmultimedia-git/0002-qtmultimedia.pro-Respect-OE_GSTREAMER_ENABLED-OE_GST.patch
@@ -0,0 +1,53 @@
1From ee12423779327f2cbb46ada326fa0a997c93a93d Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sat, 5 Jul 2014 09:10:02 +0200
4Subject: [PATCH 2/2] qtmultimedia.pro: Respect
5 OE_GSTREAMER_ENABLED,OE_GSTREAMER010_ENABLED and OE_OPENAL_ENABLED
6
7Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
8---
9 qtmultimedia.pro | 21 ++++++++++++---------
10 1 file changed, 12 insertions(+), 9 deletions(-)
11
12diff --git a/qtmultimedia.pro b/qtmultimedia.pro
13index 109dd81..54b67a8 100644
14--- a/qtmultimedia.pro
15+++ b/qtmultimedia.pro
16@@ -1,7 +1,7 @@
17 requires(qtHaveModule(gui))
18
19 load(configure)
20-qtCompileTest(openal)
21+OE_OPENAL_ENABLED:qtCompileTest(openal)
22 win32 {
23 qtCompileTest(directshow) {
24 qtCompileTest(wshellitem)
25@@ -18,14 +18,17 @@ win32 {
26 qtCompileTest(alsa)
27 qtCompileTest(pulseaudio)
28 !done_config_gstreamer {
29- gstver=1.0
30- cache(GST_VERSION, set, gstver);
31- qtCompileTest(gstreamer) {
32- qtCompileTest(gstreamer_photography)
33- qtCompileTest(gstreamer_encodingprofiles)
34- qtCompileTest(gstreamer_appsrc)
35- qtCompileTest(linux_v4l)
36- } else {
37+ OE_GSTREAMER_ENABLED {
38+ gstver=1.0
39+ cache(GST_VERSION, set, gstver);
40+ qtCompileTest(gstreamer) {
41+ qtCompileTest(gstreamer_photography)
42+ qtCompileTest(gstreamer_encodingprofiles)
43+ qtCompileTest(gstreamer_appsrc)
44+ qtCompileTest(linux_v4l)
45+ }
46+ }
47+ !OE_GSTREAMER_ENABLED:OE_GSTREAMER010_ENABLED {
48 gstver=0.10
49 cache(GST_VERSION, set, gstver);
50 # Force a re-run of the test
51--
522.1.1
53
diff --git a/recipes-qt/qt5/qtmultimedia_git.bb b/recipes-qt/qt5/qtmultimedia_git.bb
index 120ae1de..48cab357 100644
--- a/recipes-qt/qt5/qtmultimedia_git.bb
+++ b/recipes-qt/qt5/qtmultimedia_git.bb
@@ -1,4 +1,10 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "b99a4b3025f08df8f33efb02897397ae5e404acf" 4SRCREV = "f02d9e934322fbf9af8a5503c1bda37552988b2b"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
10 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtquick1_git.bb b/recipes-qt/qt5/qtquick1_git.bb
index 7cb29a66..873c3592 100644
--- a/recipes-qt/qt5/qtquick1_git.bb
+++ b/recipes-qt/qt5/qtquick1_git.bb
@@ -1,4 +1,10 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "26e713cddcc8a62e49ce7a3352d3b5f13ffd7d52" 4SRCREV = "af503cb8014c5b0fb2928ac1596a042d979a94a3"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
10 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtquickcontrols_git.bb b/recipes-qt/qt5/qtquickcontrols_git.bb
index 7f094b20..77b499ad 100644
--- a/recipes-qt/qt5/qtquickcontrols_git.bb
+++ b/recipes-qt/qt5/qtquickcontrols_git.bb
@@ -1,4 +1,10 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "8deeceb12e68dd429ee53d6ef667f1ec79bce4de" 4SRCREV = "ebbf3629ae53755c3b5dd0912585a40545f391fc"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
10 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtscript_git.bb b/recipes-qt/qt5/qtscript_git.bb
index a4369150..029c1077 100644
--- a/recipes-qt/qt5/qtscript_git.bb
+++ b/recipes-qt/qt5/qtscript_git.bb
@@ -1,4 +1,10 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "2b71f5f2ce41deb9baf91df2db9ec568e98814e8" 4SRCREV = "14710df8fa3b8c31cdbf0243d268a006e667e13a"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
10 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtsensors_git.bb b/recipes-qt/qt5/qtsensors_git.bb
index 97a70ae7..6e2a36af 100644
--- a/recipes-qt/qt5/qtsensors_git.bb
+++ b/recipes-qt/qt5/qtsensors_git.bb
@@ -1,4 +1,10 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "87b569ccc4df161e33d41f7a5f1f25eced6f65c3" 4SRCREV = "4756a79d456d2fdd7aa1e5cb562a50165daf3d7f"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
10 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtserialport_git.bb b/recipes-qt/qt5/qtserialport_git.bb
index 945a8d42..6d2ab1ce 100644
--- a/recipes-qt/qt5/qtserialport_git.bb
+++ b/recipes-qt/qt5/qtserialport_git.bb
@@ -1,4 +1,12 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "19da18b96897c7d0b9dce2dd589d0135b397005e" 4SRCREV = "ef8ed357881b212e2debe2ccf975996bca2331c2"
5
6# text of LGPL_EXCEPTION.txt and LICENSE.FDL is slightly different than what
7# other qt* components use :/
8LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
9 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
10 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
11 file://LGPL_EXCEPTION.txt;md5=eb6c371255e1262c55ae9b652a90b528 \
12 file://LICENSE.FDL;md5=3801d7932fdc07fd9efe89f9854a6caa"
diff --git a/recipes-qt/qt5/qtsvg_git.bb b/recipes-qt/qt5/qtsvg_git.bb
index 9420ff8f..118a0991 100644
--- a/recipes-qt/qt5/qtsvg_git.bb
+++ b/recipes-qt/qt5/qtsvg_git.bb
@@ -1,4 +1,10 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "35a2f0880831d38c60d2b4820dac808f48f6f3a8" 4SRCREV = "bf249abee98727d517f52b1126dc7fda8af4e302"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
10 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtsystems_git.bb b/recipes-qt/qt5/qtsystems_git.bb
index c264ab0d..45f6b0eb 100644
--- a/recipes-qt/qt5/qtsystems_git.bb
+++ b/recipes-qt/qt5/qtsystems_git.bb
@@ -1,6 +1,8 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4QT_MODULE_BRANCH = "stable"
5
4# qtsystems wasn't released yet, last tag before this SRCREV is 5.0.0-beta1 6# qtsystems wasn't released yet, last tag before this SRCREV is 5.0.0-beta1
5# qt5-git PV is only to indicate that this recipe is compatible with qt5 5.2.1 7# qt5-git PV is only to indicate that this recipe is compatible with qt5 5.2.1
6 8
diff --git a/recipes-qt/qt5/qttools-git/0001-Allow-to-build-only-lrelease-lupdate-lconvert.patch b/recipes-qt/qt5/qttools-git/0001-Allow-to-build-only-lrelease-lupdate-lconvert.patch
index 9a31c139..c176b4e8 100644
--- a/recipes-qt/qt5/qttools-git/0001-Allow-to-build-only-lrelease-lupdate-lconvert.patch
+++ b/recipes-qt/qt5/qttools-git/0001-Allow-to-build-only-lrelease-lupdate-lconvert.patch
@@ -1,7 +1,7 @@
1From 50fdb63c074138f783a448bc2db97b6f0ccfefea Mon Sep 17 00:00:00 2001 1From ba804f69b32dc9a3554d2901cd1897039be33553 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.jansa@gmail.com> 2From: Martin Jansa <Martin.jansa@gmail.com>
3Date: Wed, 11 Sep 2013 18:30:08 +0200 3Date: Wed, 11 Sep 2013 18:30:08 +0200
4Subject: [PATCH 1/2] Allow to build only lrelease + lupdate + lconvert 4Subject: [PATCH 1/3] Allow to build only lrelease + lupdate + lconvert
5 5
6This is useful e.g. when cross compiling with OpenEmbedded where qtbase-native 6This is useful e.g. when cross compiling with OpenEmbedded where qtbase-native
7is built without GUI support (no-png is set) and we still want to build 7is built without GUI support (no-png is set) and we still want to build
@@ -9,25 +9,26 @@ native lrelease + lupdate + lconvert tools.
9 9
10Upstream-Status: Pending 10Upstream-Status: Pending
11 11
12Signed-off-by: Martin Jansa <Martin.jansa@gmail.com> 12Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
13--- 13---
14 examples/examples.pro | 4 ++-- 14 examples/examples.pro | 3 ++-
15 src/designer/src/src.pro | 16 +++++++++------- 15 src/designer/src/src.pro | 16 +++++++++-------
16 src/linguist/linguist.pro | 2 +- 16 src/linguist/linguist.pro | 2 +-
17 src/src.pro | 14 ++++++++------ 17 src/src.pro | 14 ++++++++------
18 tests/auto/auto.pro | 24 +++++++++++++----------- 18 tests/auto/auto.pro | 24 +++++++++++++-----------
19 5 files changed, 33 insertions(+), 27 deletions(-) 19 5 files changed, 33 insertions(+), 26 deletions(-)
20 20
21diff --git a/examples/examples.pro b/examples/examples.pro 21diff --git a/examples/examples.pro b/examples/examples.pro
22index 4955969..8e86419 100644 22index 69365d1..da7b38b 100644
23--- a/examples/examples.pro 23--- a/examples/examples.pro
24+++ b/examples/examples.pro 24+++ b/examples/examples.pro
25@@ -1,3 +1,3 @@ 25@@ -1,4 +1,5 @@
26 TEMPLATE = subdirs 26 TEMPLATE = subdirs
27-qtHaveModule(widgets): SUBDIRS += help designer linguist uitools assistant 27-qtHaveModule(widgets): SUBDIRS += help designer linguist uitools assistant
28-
29+!linguistonly:qtHaveModule(widgets): SUBDIRS += help designer assistant 28+!linguistonly:qtHaveModule(widgets): SUBDIRS += help designer assistant
30+qtHaveModule(widgets): SUBDIRS += linguist uitools 29+qtHaveModule(widgets): SUBDIRS += linguist uitools
30
31 winrt: SUBDIRS -= assistant designer
31diff --git a/src/designer/src/src.pro b/src/designer/src/src.pro 32diff --git a/src/designer/src/src.pro b/src/designer/src/src.pro
32index e02ca8e..49527c5 100644 33index e02ca8e..49527c5 100644
33--- a/src/designer/src/src.pro 34--- a/src/designer/src/src.pro
@@ -74,7 +75,7 @@ index 3a70580..a977878 100644
74 qtNomakeTools( \ 75 qtNomakeTools( \
75 linguist \ 76 linguist \
76diff --git a/src/src.pro b/src/src.pro 77diff --git a/src/src.pro b/src/src.pro
77index a486d65..393eac2 100644 78index 722b32e..9453152 100644
78--- a/src/src.pro 79--- a/src/src.pro
79+++ b/src/src.pro 80+++ b/src/src.pro
80@@ -4,10 +4,12 @@ qtHaveModule(widgets) { 81@@ -4,10 +4,12 @@ qtHaveModule(widgets) {
@@ -82,7 +83,7 @@ index a486d65..393eac2 100644
82 message("Some graphics-related tools are unavailable without PNG support") 83 message("Some graphics-related tools are unavailable without PNG support")
83 } else { 84 } else {
84- SUBDIRS = assistant \ 85- SUBDIRS = assistant \
85+ !linguistonly { 86+ !linguistonly {
86+ SUBDIRS = assistant \ 87+ SUBDIRS = assistant \
87 pixeltool \ 88 pixeltool \
88- qtestlib \ 89- qtestlib \
@@ -110,14 +111,14 @@ index a486d65..393eac2 100644
110+!linguistonly:qtHaveModule(dbus): SUBDIRS += qdbus 111+!linguistonly:qtHaveModule(dbus): SUBDIRS += qdbus
111 112
112 win32|winrt:SUBDIRS += windeployqt 113 win32|winrt:SUBDIRS += windeployqt
113 winrt:SUBDIRS += winrtrunner qtd3dservice 114 winrt:SUBDIRS += winrtrunner
114-qtHaveModule(gui):!android:!ios:!qnx:!wince*:!winrt*:SUBDIRS += qtdiag 115-qtHaveModule(gui):!android:!ios:!qnx:!wince*:!winrt*:SUBDIRS += qtdiag
115+!linguistonly:qtHaveModule(gui):!android:!ios:!qnx:!wince*:!winrt*:SUBDIRS += qtdiag 116+!linguistonly:qtHaveModule(gui):!android:!ios:!qnx:!wince*:!winrt*:SUBDIRS += qtdiag
116 117
117 qtNomakeTools( \ 118 qtNomakeTools( \
118 pixeltool \ 119 pixeltool \
119diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro 120diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
120index c3acfe3..b48e711 100644 121index df240e3..27ee687 100644
121--- a/tests/auto/auto.pro 122--- a/tests/auto/auto.pro
122+++ b/tests/auto/auto.pro 123+++ b/tests/auto/auto.pro
123@@ -1,15 +1,17 @@ 124@@ -1,15 +1,17 @@
@@ -143,12 +144,12 @@ index c3acfe3..b48e711 100644
143+ qhelpindexmodel \ 144+ qhelpindexmodel \
144+ qhelpprojectdata \ 145+ qhelpprojectdata \
145+ cmake \ 146+ cmake \
146+ installed_cmake \ 147+ installed_cmake
147+ qtdiag 148+ qtdiag
148+} 149+}
149 150
150 installed_cmake.depends = cmake 151 installed_cmake.depends = cmake
151 152
152-- 153--
1532.0.0 1542.1.1
154 155
diff --git a/recipes-qt/qt5/qttools-git/0002-assistant-help-fix-linking-of-dependent-libraries.patch b/recipes-qt/qt5/qttools-git/0002-assistant-help-fix-linking-of-dependent-libraries.patch
index eaf46945..13857911 100644
--- a/recipes-qt/qt5/qttools-git/0002-assistant-help-fix-linking-of-dependent-libraries.patch
+++ b/recipes-qt/qt5/qttools-git/0002-assistant-help-fix-linking-of-dependent-libraries.patch
@@ -1,7 +1,7 @@
1From f375385c4795e3cd7df7aca2a4c769597164aaa8 Mon Sep 17 00:00:00 2001 1From ac277dcb43d53ce6d87c58f4afef295fe44a49ea Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> 2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Fri, 17 Jan 2014 14:33:19 +0100 3Date: Fri, 17 Jan 2014 14:33:19 +0100
4Subject: [PATCH 2/2] assistant/help: fix linking of dependent libraries 4Subject: [PATCH 2/3] assistant/help: fix linking of dependent libraries
5MIME-Version: 1.0 5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8 6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit 7Content-Transfer-Encoding: 8bit
@@ -28,5 +28,5 @@ index 168d23d..a9c3b59 100644
28+ 28+
29+LIBS += -lQt5CLucene 29+LIBS += -lQt5CLucene
30-- 30--
312.0.0 312.1.1
32 32
diff --git a/recipes-qt/qt5/qttools-git/0003-add-noqtwebkit-configuration.patch b/recipes-qt/qt5/qttools-git/0003-add-noqtwebkit-configuration.patch
index fa3ac1a4..ba96f5a8 100644
--- a/recipes-qt/qt5/qttools-git/0003-add-noqtwebkit-configuration.patch
+++ b/recipes-qt/qt5/qttools-git/0003-add-noqtwebkit-configuration.patch
@@ -1,4 +1,4 @@
1From 6bb257d69ba7ac93b2b11aae35e0a523785d94ad Mon Sep 17 00:00:00 2001 1From b50a6739b3d38f06901e7812864e3f7122f3d0c8 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> 2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Wed, 4 Jun 2014 11:28:16 +0200 3Date: Wed, 4 Jun 2014 11:28:16 +0200
4Subject: [PATCH 3/3] add noqtwebkit configuration 4Subject: [PATCH 3/3] add noqtwebkit configuration
@@ -47,5 +47,5 @@ index 500a153..b60fa2d 100644
47 win32: qtHaveModule(axcontainer): SUBDIRS += activeqt 47 win32: qtHaveModule(axcontainer): SUBDIRS += activeqt
48 qtHaveModule(quickwidgets): SUBDIRS += qquickwidget 48 qtHaveModule(quickwidgets): SUBDIRS += qquickwidget
49-- 49--
502.0.4 502.1.1
51 51
diff --git a/recipes-qt/qt5/qttools-native_git.bb b/recipes-qt/qt5/qttools-native_git.bb
index bf06b08c..db3e5401 100644
--- a/recipes-qt/qt5/qttools-native_git.bb
+++ b/recipes-qt/qt5/qttools-native_git.bb
@@ -1,4 +1,9 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "aa35d132010f4410d72e30d03e3dd713c7a2241d" 4SRCREV = "a1ca5b48fafc536b619617f8fa6a3e4798283812"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
8 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
9 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qttools_git.bb b/recipes-qt/qt5/qttools_git.bb
index bf06b08c..db3e5401 100644
--- a/recipes-qt/qt5/qttools_git.bb
+++ b/recipes-qt/qt5/qttools_git.bb
@@ -1,4 +1,9 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "aa35d132010f4410d72e30d03e3dd713c7a2241d" 4SRCREV = "a1ca5b48fafc536b619617f8fa6a3e4798283812"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
8 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
9 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"
diff --git a/recipes-qt/qt5/qtwayland-native_5.3.2+git.bb b/recipes-qt/qt5/qtwayland-native_5.3.2+git.bb
new file mode 100644
index 00000000..e7808100
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland-native_5.3.2+git.bb
@@ -0,0 +1,9 @@
1require qt5-git.inc
2require ${PN}.inc
3
4SRCREV = "98dca3b54f52f08117c1e0d3a1b4826ed12ef23f"
5
6# this wasn't released, the PV is set just to signify that this SRCREV was tested together
7# with 5.3.2 version of other modules
8PV = "5.3.2"
9DEFAULT_PREFERENCE = "1"
diff --git a/recipes-qt/qt5/qtwayland-native_git.bb b/recipes-qt/qt5/qtwayland-native_git.bb
index 761cfb65..79349554 100644
--- a/recipes-qt/qt5/qtwayland-native_git.bb
+++ b/recipes-qt/qt5/qtwayland-native_git.bb
@@ -1,8 +1,4 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1 4SRCREV = "5f718c7d04d44c3878018e8070b18cf0e7486eb0"
5# qt5-git PV is only to indicate that this recipe is compatible with qt5 5.2.1
6
7SRCREV = "98dca3b54f52f08117c1e0d3a1b4826ed12ef23f"
8QT_MODULE_BRANCH = "5.4"
diff --git a/recipes-qt/qt5/qtwayland.inc b/recipes-qt/qt5/qtwayland.inc
index bb52f0d6..dc6be236 100644
--- a/recipes-qt/qt5/qtwayland.inc
+++ b/recipes-qt/qt5/qtwayland.inc
@@ -7,6 +7,8 @@ require qt5.inc
7XKB_DEPENDS = "libxkbcommon xproto" 7XKB_DEPENDS = "libxkbcommon xproto"
8DEPENDS += "qtbase qtdeclarative wayland wayland-native qtwayland-native ${XKB_DEPENDS}" 8DEPENDS += "qtbase qtdeclarative wayland wayland-native qtwayland-native ${XKB_DEPENDS}"
9 9
10EXTRA_QMAKEVARS_POST += "CONFIG-=create_cmake"
11
10QT_WAYLAND_CONFIG ?= "wayland-compositor" 12QT_WAYLAND_CONFIG ?= "wayland-compositor"
11QT_WAYLAND_DEFINES ?= "" 13QT_WAYLAND_DEFINES ?= ""
12QT_WAYLAND_BUILD_PARTS ?= "examples" 14QT_WAYLAND_BUILD_PARTS ?= "examples"
diff --git a/recipes-qt/qt5/qtwayland_5.3.2+git.bb b/recipes-qt/qt5/qtwayland_5.3.2+git.bb
new file mode 100644
index 00000000..bfbeab18
--- /dev/null
+++ b/recipes-qt/qt5/qtwayland_5.3.2+git.bb
@@ -0,0 +1,21 @@
1require qt5-git.inc
2require ${PN}.inc
3
4SRCREV = "98dca3b54f52f08117c1e0d3a1b4826ed12ef23f"
5
6SRC_URI += " \
7 file://0001-examples.pro-include-server-buffer-only-when-buildin.patch \
8"
9
10# this wasn't released, the PV is set just to signify that this SRCREV was tested together
11# with 5.3.2 version of other modules
12PV = "5.3.2"
13DEFAULT_PREFERENCE = "1"
14
15QT_VERSION ?= "5.3.0"
16
17do_install_append() {
18 # do install files created by qtwaylandscanner
19 install ${B}/include/QtCompositor/${QT_VERSION}/QtCompositor/private/qwayland-server-*.h ${D}${OE_QMAKE_PATH_QT_HEADERS}/QtCompositor/${QT_VERSION}/QtCompositor/private
20 install ${B}/include/QtCompositor/${QT_VERSION}/QtCompositor/private/*protocol*.h ${D}${OE_QMAKE_PATH_QT_HEADERS}/QtCompositor/${QT_VERSION}/QtCompositor/private
21}
diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb
index 0bbb5ab5..62a718e2 100644
--- a/recipes-qt/qt5/qtwayland_git.bb
+++ b/recipes-qt/qt5/qtwayland_git.bb
@@ -1,17 +1,13 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1 4SRCREV = "5f718c7d04d44c3878018e8070b18cf0e7486eb0"
5# qt5-git PV is only to indicate that this recipe is compatible with qt5 5.2.1
6
7SRCREV = "98dca3b54f52f08117c1e0d3a1b4826ed12ef23f"
8QT_MODULE_BRANCH = "5.4"
9 5
10SRC_URI += " \ 6SRC_URI += " \
11 file://0001-examples.pro-include-server-buffer-only-when-buildin.patch \ 7 file://0001-examples.pro-include-server-buffer-only-when-buildin.patch \
12" 8"
13 9
14QT_VERSION ?= "5.3.0" 10QT_VERSION ?= "5.4.0"
15 11
16do_install_append() { 12do_install_append() {
17 # do install files created by qtwaylandscanner 13 # do install files created by qtwaylandscanner
diff --git a/recipes-qt/qt5/qtwebengine.inc b/recipes-qt/qt5/qtwebengine.inc
index 060faa7b..397be705 100644
--- a/recipes-qt/qt5/qtwebengine.inc
+++ b/recipes-qt/qt5/qtwebengine.inc
@@ -23,6 +23,9 @@ S = "${WORKDIR}/git"
23SEPB = "${S}" 23SEPB = "${S}"
24B = "${SEPB}" 24B = "${SEPB}"
25 25
26# Project ERROR: Missing CMake tests. Either create tests in tests/auto/cmake, or disable cmake config file creation with CONFIG-=create_cmake.
27EXTRA_QMAKEVARS_POST += "CONFIG-=create_cmake"
28
26do_configure() { 29do_configure() {
27 # replace LD with CXX, to workaround a possible gyp inheritssue? 30 # replace LD with CXX, to workaround a possible gyp inheritssue?
28 LD="${CXX}" export LD 31 LD="${CXX}" export LD
@@ -33,12 +36,13 @@ do_configure() {
33 36
34 # qmake can't find the OE_QMAKE_* variables on it's own so directly passing them as 37 # qmake can't find the OE_QMAKE_* variables on it's own so directly passing them as
35 # arguments here 38 # arguments here
36 ${OE_QMAKE_QMAKE} -r QTWEBENGINE_ROOT="${S}" NINJA_PATH="${STAGING_BINDIR_NATIVE}/ninja" \ 39 ${OE_QMAKE_QMAKE} -r ${EXTRA_QMAKEVARS_PRE} QTWEBENGINE_ROOT="${S}" NINJA_PATH="${STAGING_BINDIR_NATIVE}/ninja" \
37 QMAKE_CXX="${OE_QMAKE_CXX}" QMAKE_CC="${OE_QMAKE_CC}" \ 40 QMAKE_CXX="${OE_QMAKE_CXX}" QMAKE_CC="${OE_QMAKE_CC}" \
38 QMAKE_LINK="${OE_QMAKE_LINK}" \ 41 QMAKE_LINK="${OE_QMAKE_LINK}" \
39 QMAKE_CFLAGS="${OE_QMAKE_CFLAGS}" \ 42 QMAKE_CFLAGS="${OE_QMAKE_CFLAGS}" \
40 QMAKE_CXXFLAGS="${OE_QMAKE_CXXFLAGS}" \ 43 QMAKE_CXXFLAGS="${OE_QMAKE_CXXFLAGS}" \
41 QMAKE_AR="${OE_QMAKE_AR}" 44 QMAKE_AR="${OE_QMAKE_AR}" \
45 -after ${EXTRA_QMAKEVARS_POST}
42} 46}
43 47
44do_install_append() { 48do_install_append() {
diff --git a/recipes-qt/qt5/qtwebengine/0001-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch b/recipes-qt/qt5/qtwebengine/0001-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch
index 397929f4..bd4e8679 100644
--- a/recipes-qt/qt5/qtwebengine/0001-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch
+++ b/recipes-qt/qt5/qtwebengine/0001-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch
@@ -1,4 +1,4 @@
1From daf8cd1ccd533d5546ff3a11d19710e0f155cc68 Mon Sep 17 00:00:00 2001 1From c2defbfe5946a6c483e3f9df37fb16bdffeffc31 Mon Sep 17 00:00:00 2001
2From: Simon Busch <morphis@gravedo.de> 2From: Simon Busch <morphis@gravedo.de>
3Date: Fri, 20 Jun 2014 09:09:12 +0200 3Date: Fri, 20 Jun 2014 09:09:12 +0200
4Subject: [PATCH 1/3] Use ninja supplied by environment variable NINJA_PATH 4Subject: [PATCH 1/3] Use ninja supplied by environment variable NINJA_PATH
@@ -32,5 +32,5 @@ index 4dcd8ed..8725fd2 100644
32+ return($$NINJA_PATH) 32+ return($$NINJA_PATH)
33 } 33 }
34-- 34--
352.0.0 352.1.1
36 36
diff --git a/recipes-qt/qt5/qtwebengine/0002-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch b/recipes-qt/qt5/qtwebengine/0002-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch
index d9b75eb0..b5fc71dd 100644
--- a/recipes-qt/qt5/qtwebengine/0002-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch
+++ b/recipes-qt/qt5/qtwebengine/0002-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch
@@ -1,4 +1,4 @@
1From fd954d63f62c551c5aeaab662b7ab42a3f2ab527 Mon Sep 17 00:00:00 2001 1From 32f3b53d0b5861ac3e277552b04a579d8bd16558 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Mon, 30 Jun 2014 20:08:17 +0200 3Date: Mon, 30 Jun 2014 20:08:17 +0200
4Subject: [PATCH 2/3] functions.prf: Don't match QMAKE_EXT_CPP or QMAKE_EXT_H 4Subject: [PATCH 2/3] functions.prf: Don't match QMAKE_EXT_CPP or QMAKE_EXT_H
@@ -25,5 +25,5 @@ index 8725fd2..15c2941 100644
25 } 25 }
26 26
27-- 27--
282.0.0 282.1.1
29 29
diff --git a/recipes-qt/qt5/qtwebengine/0003-functions.prf-Try-to-add-_moc-suffix.patch b/recipes-qt/qt5/qtwebengine/0003-functions.prf-Try-to-add-_moc-suffix.patch
index bc5a75cc..173f7f73 100644
--- a/recipes-qt/qt5/qtwebengine/0003-functions.prf-Try-to-add-_moc-suffix.patch
+++ b/recipes-qt/qt5/qtwebengine/0003-functions.prf-Try-to-add-_moc-suffix.patch
@@ -1,4 +1,4 @@
1From 5089c3d10f13874e503f5548f40341d8f59e229f Mon Sep 17 00:00:00 2001 1From b0e844967728edf814d611bb1c69d320a8a6c64d Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com> 2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Tue, 1 Jul 2014 15:58:16 +0200 3Date: Tue, 1 Jul 2014 15:58:16 +0200
4Subject: [PATCH 3/3] functions.prf: Try to add _moc suffix 4Subject: [PATCH 3/3] functions.prf: Try to add _moc suffix
@@ -30,5 +30,5 @@ index 15c2941..78b1190 100644
30 } 30 }
31 31
32-- 32--
332.0.0 332.1.1
34 34
diff --git a/recipes-qt/qt5/qtwebengine_5.3.2+git.bb b/recipes-qt/qt5/qtwebengine_5.3.2+git.bb
new file mode 100644
index 00000000..c9a6ea41
--- /dev/null
+++ b/recipes-qt/qt5/qtwebengine_5.3.2+git.bb
@@ -0,0 +1,28 @@
1require qt5-git.inc
2require ${PN}.inc
3
4# this wasn't released, the PV is set just to signify that this SRCREV was tested together
5# with 5.3.2 version of other modules
6PV = "5.3.2"
7DEFAULT_PREFERENCE = "1"
8
9QT_MODULE_BRANCH = "1.0"
10QT_MODULE_BRANCH_CHROMIUM = "33.0.1750.170-based"
11
12# For now we have to define SRC_URI here again as qt5-git.inc points to
13# qt.gitorious.org/qt/ but qtwebengine is still on qt.gitorious.org/qt-labs/ which will
14# switch soon.
15SRC_URI = " \
16 git://gitorious.org/qt/qtwebengine.git;name=qtwebengine;protocol=git;branch=${QT_MODULE_BRANCH} \
17 git://gitorious.org/qt/qtwebengine-chromium.git;name=chromium;protocol=git;branch=${QT_MODULE_BRANCH_CHROMIUM};destsuffix=git/src/3rdparty \
18 file://0001-Use-ninja-supplied-by-environment-variable-NINJA_PAT.patch \
19 file://0002-functions.prf-Don-t-match-QMAKE_EXT_CPP-or-QMAKE_EXT.patch \
20 file://0003-functions.prf-Try-to-add-_moc-suffix.patch \
21 file://0001-chromium-Drop-build-time-only-dependency-on-x11-libr.patch \
22 file://0002-chromium-Strip-unwanted-echo-compiling-prefix-from-C.patch \
23 file://0003-chromium-base.gypi-include-atomicops_internals_x86_gcc.cc-whe.patch \
24"
25SRCREV_qtwebengine = "21f6ce84ecca9a4ff2aa980b21d2e5174c78d14b"
26SRCREV_chromium = "1f3cc8c2618979b557d60ef1ad984a49dca83bff"
27
28SRCREV_FORMAT = "qtwebengine"
diff --git a/recipes-qt/qt5/qtwebengine_git.bb b/recipes-qt/qt5/qtwebengine_git.bb
index dd93d1f0..360a1c8d 100644
--- a/recipes-qt/qt5/qtwebengine_git.bb
+++ b/recipes-qt/qt5/qtwebengine_git.bb
@@ -1,11 +1,6 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4# QtWebEngine has it's own version format currently and doesn't follow the major Qt
5# versions (but it's release are at the same time as of major Qt releases). We're tracking
6# the master branch which will lead to 1.0 when Qt 5.4 is released here.
7PV = "0.9.99+git${SRCPV}"
8
9QT_MODULE_BRANCH = "1.0" 4QT_MODULE_BRANCH = "1.0"
10QT_MODULE_BRANCH_CHROMIUM = "33.0.1750.170-based" 5QT_MODULE_BRANCH_CHROMIUM = "33.0.1750.170-based"
11 6
@@ -22,7 +17,7 @@ SRC_URI = " \
22 file://0002-chromium-Strip-unwanted-echo-compiling-prefix-from-C.patch \ 17 file://0002-chromium-Strip-unwanted-echo-compiling-prefix-from-C.patch \
23 file://0003-chromium-base.gypi-include-atomicops_internals_x86_gcc.cc-whe.patch \ 18 file://0003-chromium-base.gypi-include-atomicops_internals_x86_gcc.cc-whe.patch \
24" 19"
25SRCREV_qtwebengine = "21f6ce84ecca9a4ff2aa980b21d2e5174c78d14b" 20SRCREV_qtwebengine = "4ffc07ddb8739da9e94a2b23b03c63fd7b74c09a"
26SRCREV_chromium = "1f3cc8c2618979b557d60ef1ad984a49dca83bff" 21SRCREV_chromium = "1f3cc8c2618979b557d60ef1ad984a49dca83bff"
27 22
28SRCREV_FORMAT = "qtwebengine" 23SRCREV_FORMAT = "qtwebengine"
diff --git a/recipes-qt/qt5/qtwebkit-examples_git.bb b/recipes-qt/qt5/qtwebkit-examples_git.bb
index f0ceb5df..27dd7ee1 100644
--- a/recipes-qt/qt5/qtwebkit-examples_git.bb
+++ b/recipes-qt/qt5/qtwebkit-examples_git.bb
@@ -1,4 +1,4 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "bce5056b9e16a943357e362455a46685d3f22093" 4SRCREV = "70bd4d5253f134bf48a30544030bb832f1eba8b3"
diff --git a/recipes-qt/qt5/qtwebkit-git/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch b/recipes-qt/qt5/qtwebkit-git/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch
new file mode 100644
index 00000000..2c471be5
--- /dev/null
+++ b/recipes-qt/qt5/qtwebkit-git/0001-qtwebkit-fix-QA-issue-bad-RPATH.patch
@@ -0,0 +1,30 @@
1From a7d860fbc194c46591016ba41e138eadc1e50d84 Mon Sep 17 00:00:00 2001
2From: Trevor Woerner <trevor.woerner@linaro.org>
3Date: Fri, 7 Feb 2014 04:07:17 +0100
4Subject: [PATCH] qtwebkit: fix QA issue (bad RPATH)
5
6Building qtwebkit causes a QA issue such that QtWebPluginProcess and
7QtWebProcess contain bad RPATHs which point into the build location. This fix
8adds a patch to not include the rpath.prf which causes this problem.
9
10Signed-off-by: Trevor Woerner <trevor.woerner@linaro.org>
11Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
12---
13 Tools/qmake/mkspecs/features/unix/default_post.prf | 1 -
14 1 file changed, 1 deletion(-)
15
16diff --git a/Tools/qmake/mkspecs/features/unix/default_post.prf b/Tools/qmake/mkspecs/features/unix/default_post.prf
17index 9c52406..a68a101 100644
18--- a/Tools/qmake/mkspecs/features/unix/default_post.prf
19+++ b/Tools/qmake/mkspecs/features/unix/default_post.prf
20@@ -59,7 +59,6 @@ linux-*g++* {
21 }
22 }
23
24-contains(TEMPLATE, app): CONFIG += rpath
25
26 CONFIG(debug, debug|release)|force_debug_info {
27 # Make ld not cache the symbol tables of input files in memory to avoid memory exhaustion during the linking phase.
28--
292.1.1
30
diff --git a/recipes-qt/qt5/qtwebkit_git.bb b/recipes-qt/qt5/qtwebkit_git.bb
index 30f2f7a6..e54d3979 100644
--- a/recipes-qt/qt5/qtwebkit_git.bb
+++ b/recipes-qt/qt5/qtwebkit_git.bb
@@ -1,4 +1,6 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "db1ec4efadf930cd8088286605128ae1d01d23e8" 4DEPENDS += "leveldb"
5
6SRCREV = "3a51e3ee766490fe6f9ab9511d19e16f75e07db8"
diff --git a/recipes-qt/qt5/qtwebsockets_git.bb b/recipes-qt/qt5/qtwebsockets_git.bb
index ff139865..0631f564 100644
--- a/recipes-qt/qt5/qtwebsockets_git.bb
+++ b/recipes-qt/qt5/qtwebsockets_git.bb
@@ -1,4 +1,4 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "eb16b1970293dfeb5918751afbdf1fb7f62028e1" 4SRCREV = "f6175568bb32b87a3d6cd55382fa1c8e1a1de2b4"
diff --git a/recipes-qt/qt5/qtx11extras_git.bb b/recipes-qt/qt5/qtx11extras_git.bb
index fdb80940..6867e049 100644
--- a/recipes-qt/qt5/qtx11extras_git.bb
+++ b/recipes-qt/qt5/qtx11extras_git.bb
@@ -1,4 +1,4 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "2d84caf5ef1b5dace0d678df4581db3c955be6ee" 4SRCREV = "a21bbb45019e1bbc7b583811ff2e84757082a01a"
diff --git a/recipes-qt/qt5/qtxmlpatterns_git.bb b/recipes-qt/qt5/qtxmlpatterns_git.bb
index 5d63a6b2..5c7246d0 100644
--- a/recipes-qt/qt5/qtxmlpatterns_git.bb
+++ b/recipes-qt/qt5/qtxmlpatterns_git.bb
@@ -1,4 +1,10 @@
1require qt5-git.inc 1require qt5-git.inc
2require ${PN}.inc 2require ${PN}.inc
3 3
4SRCREV = "e13d30be68228ccda3b6310ac44a84981b17f03b" 4SRCREV = "eef0ba60200d8039c05073ce707c2352ac0944a8"
5
6LIC_FILES_CHKSUM = "file://LICENSE.LGPLv21;md5=cff17b12416c896e10ae2c17a64252e7 \
7 file://LICENSE.GPLv2;md5=e782f55badfa137e5e59c330f12cc8ed \
8 file://LICENSE.LGPLv3;md5=c1939be5579666be947371bc8120425f \
9 file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
10 file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"