summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia
diff options
context:
space:
mode:
authorAndrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>2020-02-22 14:23:56 +0000
committerOtavio Salvador <otavio@ossystems.com.br>2020-03-03 18:26:17 -0300
commitf7608795ce9273090257f47015e367b7efc69989 (patch)
treee64baeb3ef2dfb42ee3f03735585683aef5f4ffe /recipes-multimedia
parentcbb7c31aedcb45c813fd1bf5ad071e1ca08bea68 (diff)
downloadmeta-freescale-f7608795ce9273090257f47015e367b7efc69989.tar.gz
gstreamer1.0-plugins-base: Transition to meson based builds
Update gstreamer base plugins to meson build system. This update follows the strategy and description provided in commit [e957fbc5d82368934f721e3773bf3942c5177ed7] from upstream. Autotools patches are dropped from the layer and additional meson-relevant patches are introduced from upstream. In addition, patch required to support meson build of NXP fork is included. Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
Diffstat (limited to 'recipes-multimedia')
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch301
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gst-libs-gst-gl-wayland-fix-meson-build.patch36
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch220
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch34
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch233
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch35
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-riff-add-missing-include-directories-when-calling-in.patch28
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch30
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch30
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/make-gio_unix_2_0-dependency-configurable.patch45
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.imx.bb118
11 files changed, 650 insertions, 460 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
deleted file mode 100644
index 4f141866..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch
+++ /dev/null
@@ -1,301 +0,0 @@
1From ae10bb875c88321a719a3dbcc94c78eb75b4b97f Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
3Date: Sun, 22 Dec 2019 14:34:16 +0000
4Subject: [PATCH 1/2] Makefile.am: prefix calls to pkg-config with
5 PKG_CONFIG_SYSROOT_DIR
6
7Rebase following patch to match version 1.16.0 of gstreamer
8
9From: Yuqing Zhu <carol.zhu@nxp.com>
10Date: Fri, 20 Apr 2018 02:03:57 +0800
11Subject: [PATCH] Makefile.am: prefix calls to pkg-config with
12 PKG_CONFIG_SYSROOT_DIR
13
14Do patch refine base on commit: 990b653c7b6de1937ec759019982d6c5f15770f7
15
16Upstream-Status: Pending [review on oe-core maillist]
17
18Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com>
19Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
20---
21 gst-libs/gst/allocators/Makefile.am | 4 ++--
22 gst-libs/gst/app/Makefile.am | 8 ++++----
23 gst-libs/gst/audio/Makefile.am | 12 ++++++------
24 gst-libs/gst/pbutils/Makefile.am | 12 ++++++------
25 gst-libs/gst/riff/Makefile.am | 8 ++++----
26 gst-libs/gst/rtp/Makefile.am | 8 ++++----
27 gst-libs/gst/rtsp/Makefile.am | 8 ++++----
28 gst-libs/gst/sdp/Makefile.am | 4 ++--
29 gst-libs/gst/tag/Makefile.am | 8 ++++----
30 gst-libs/gst/video/Makefile.am | 8 ++++----
31 10 files changed, 40 insertions(+), 40 deletions(-)
32
33diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am
34index 3e5f2a692..ca66056d3 100644
35--- a/gst-libs/gst/allocators/Makefile.am
36+++ b/gst-libs/gst/allocators/Makefile.am
37@@ -55,7 +55,7 @@ GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@
38 --c-include "gst/allocators/allocators.h" \
39 -I$(top_srcdir)/gst-libs \
40 -I$(top_builddir)/gst-libs \
41- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
42+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
43 --library=libgstallocators-@GST_API_VERSION@.la \
44 --include=Gst-@GST_API_VERSION@ \
45 --libtool="${LIBTOOL}" \
46@@ -79,7 +79,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
47 $(INTROSPECTION_COMPILER) \
48 --includedir=$(srcdir) \
49 --includedir=$(builddir) \
50- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
51+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
52 $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
53
54 CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
55diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am
56index 11018b694..bd48a313c 100644
57--- a/gst-libs/gst/app/Makefile.am
58+++ b/gst-libs/gst/app/Makefile.am
59@@ -51,8 +51,8 @@ GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSIO
60 --c-include "gst/app/app.h" \
61 -I$(top_srcdir)/gst-libs \
62 -I$(top_builddir)/gst-libs \
63- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
64- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
65+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
66+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
67 --library=libgstapp-@GST_API_VERSION@.la \
68 --include=Gst-@GST_API_VERSION@ \
69 --include=GstBase-@GST_API_VERSION@ \
70@@ -79,8 +79,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
71 $(INTROSPECTION_COMPILER) \
72 --includedir=$(srcdir) \
73 --includedir=$(builddir) \
74- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
75- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
76+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
77+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
78 $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
79
80 CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
81diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am
82index f2d46e8a8..482902746 100644
83--- a/gst-libs/gst/audio/Makefile.am
84+++ b/gst-libs/gst/audio/Makefile.am
85@@ -176,12 +176,12 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE
86 -I$(top_srcdir)/gst-libs \
87 -I$(top_builddir)/gst-libs \
88 --c-include "gst/audio/audio.h" \
89- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
90- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
91+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
92+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
93 --add-include-path="$(top_builddir)/gst-libs/gst/tag/" \
94 --library=libgstaudio-@GST_API_VERSION@.la \
95- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
96- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
97+ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
98+ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
99 --library-path="$(top_builddir)/gst-libs/gst/tag/" \
100 --include=Gst-@GST_API_VERSION@ \
101 --include=GstBase-@GST_API_VERSION@ \
102@@ -210,8 +210,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
103 --includedir=$(srcdir) \
104 --includedir=$(builddir) \
105 --includedir="$(top_builddir)/gst-libs/gst/tag/" \
106- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
107- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
108+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
109+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
110 $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
111
112 CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
113diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am
114index a771d5a8a..e926a5ef8 100644
115--- a/gst-libs/gst/pbutils/Makefile.am
116+++ b/gst-libs/gst/pbutils/Makefile.am
117@@ -88,14 +88,14 @@ GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_AP
118 --c-include "gst/pbutils/pbutils.h" \
119 -I$(top_srcdir)/gst-libs \
120 -I$(top_builddir)/gst-libs \
121- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
122- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
123+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
124+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
125 --add-include-path="$(top_builddir)/gst-libs/gst/tag/" \
126 --add-include-path="$(top_builddir)/gst-libs/gst/video/" \
127 --add-include-path="$(top_builddir)/gst-libs/gst/audio/" \
128 --library=libgstpbutils-@GST_API_VERSION@.la \
129- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
130- --library-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
131+ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-@GST_API_VERSION@` \
132+ --library-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=libdir gstreamer-base-@GST_API_VERSION@` \
133 --library-path="$(top_builddir)/gst-libs/gst/tag/" \
134 --library-path="$(top_builddir)/gst-libs/gst/video/" \
135 --library-path="$(top_builddir)/gst-libs/gst/audio/" \
136@@ -128,8 +128,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
137 $(INTROSPECTION_COMPILER) \
138 --includedir=$(srcdir) \
139 --includedir=$(builddir) \
140- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
141- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
142+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
143+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
144 --includedir="$(top_builddir)/gst-libs/gst/tag/" \
145 --includedir="$(top_builddir)/gst-libs/gst/video/" \
146 --includedir="$(top_builddir)/gst-libs/gst/audio/" \
147diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
148index 8f32b48d6..ecec07d1a 100644
149--- a/gst-libs/gst/riff/Makefile.am
150+++ b/gst-libs/gst/riff/Makefile.am
151@@ -43,8 +43,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
152 # --c-include "gst/riff/riff.h" \
153 # --add-include-path=$(builddir)/../tag \
154 # --add-include-path=$(builddir)/../audio \
155-# --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
156-# --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
157+# --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
158+# --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
159 # --library=libgstriff-@GST_API_VERSION@.la \
160 # --include=GstAudio-@GST_API_VERSION@ \
161 # --include=GstTag-@GST_API_VERSION@ \
162@@ -75,8 +75,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
163 # --includedir=$(builddir) \
164 # --includedir=$(builddir)/../tag \
165 # --includedir=$(builddir)/../audio \
166-# --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
167-# --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
168+# --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
169+# --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
170 # $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
171 #
172 #CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
173diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am
174index f6b996324..25122188f 100644
175--- a/gst-libs/gst/rtp/Makefile.am
176+++ b/gst-libs/gst/rtp/Makefile.am
177@@ -66,8 +66,8 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO
178 --c-include "gst/rtp/rtp.h" \
179 -I$(top_builddir)/gst-libs \
180 -I$(top_srcdir)/gst-libs \
181- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
182- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
183+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
184+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
185 --library=libgstrtp-@GST_API_VERSION@.la \
186 --include=Gst-@GST_API_VERSION@ \
187 --include=GstBase-@GST_API_VERSION@ \
188@@ -94,8 +94,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
189 $(INTROSPECTION_COMPILER) \
190 --includedir=$(srcdir) \
191 --includedir=$(builddir) \
192- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
193- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
194+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
195+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
196 $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
197
198 CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
199diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
200index 02aaf4f9a..13ac1b395 100644
201--- a/gst-libs/gst/rtsp/Makefile.am
202+++ b/gst-libs/gst/rtsp/Makefile.am
203@@ -71,8 +71,8 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
204 -I$(top_builddir)/gst-libs \
205 -I$(top_srcdir)/gst-libs \
206 --add-include-path=$(builddir)/../sdp \
207- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
208- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
209+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
210+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
211 --library=libgstrtsp-@GST_API_VERSION@.la \
212 --include=Gio-2.0 \
213 --include=Gst-@GST_API_VERSION@ \
214@@ -104,8 +104,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
215 --includedir=$(srcdir) \
216 --includedir=$(builddir) \
217 --includedir=$(builddir)/../sdp \
218- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
219- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
220+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
221+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
222 $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
223
224 CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
225diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am
226index cf8c001ad..61b8d83db 100644
227--- a/gst-libs/gst/sdp/Makefile.am
228+++ b/gst-libs/gst/sdp/Makefile.am
229@@ -31,7 +31,7 @@ GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSIO
230 --warn-all \
231 --c-include "gst/sdp/sdp.h" \
232 -I$(top_srcdir)/gst-libs \
233- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
234+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
235 --library=libgstsdp-@GST_API_VERSION@.la \
236 --include=Gst-@GST_API_VERSION@ \
237 --libtool="${LIBTOOL}" \
238@@ -55,7 +55,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
239 $(INTROSPECTION_COMPILER) \
240 --includedir=$(srcdir) \
241 --includedir=$(builddir) \
242- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
243+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
244 $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
245
246 CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA)
247diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am
248index 83bda29eb..6c3accbe0 100644
249--- a/gst-libs/gst/tag/Makefile.am
250+++ b/gst-libs/gst/tag/Makefile.am
251@@ -61,8 +61,8 @@ GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSIO
252 --c-include "gst/tag/tag.h" \
253 -I$(top_srcdir)/gst-libs \
254 -I$(top_builddir)/gst-libs \
255- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
256- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
257+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
258+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
259 --library=libgsttag-@GST_API_VERSION@.la \
260 --include=Gst-@GST_API_VERSION@ \
261 --include=GstBase-@GST_API_VERSION@ \
262@@ -89,8 +89,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
263 $(INTROSPECTION_COMPILER) \
264 --includedir=$(srcdir) \
265 --includedir=$(builddir) \
266- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
267- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
268+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
269+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
270 $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
271
272 CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
273diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am
274index 22c3f96f9..97342ef3c 100644
275--- a/gst-libs/gst/video/Makefile.am
276+++ b/gst-libs/gst/video/Makefile.am
277@@ -126,8 +126,8 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE
278 --c-include "gst/video/video.h" \
279 -I$(top_srcdir)/gst-libs \
280 -I$(top_builddir)/gst-libs \
281- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
282- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
283+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
284+ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
285 --library=libgstvideo-@GST_API_VERSION@.la \
286 --include=Gst-@GST_API_VERSION@ \
287 --include=GstBase-@GST_API_VERSION@ \
288@@ -154,8 +154,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib)
289 $(INTROSPECTION_COMPILER) \
290 --includedir=$(srcdir) \
291 --includedir=$(builddir) \
292- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
293- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
294+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
295+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
296 $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F)
297
298 CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA)
299--
3002.17.1
301
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gst-libs-gst-gl-wayland-fix-meson-build.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gst-libs-gst-gl-wayland-fix-meson-build.patch
new file mode 100644
index 00000000..61baf2f9
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gst-libs-gst-gl-wayland-fix-meson-build.patch
@@ -0,0 +1,36 @@
1From a145a129a8122f21c1e243b3dc2e5708f4c13bef Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
3Date: Thu, 23 Jan 2020 12:54:10 +0000
4Subject: [PATCH] gst-libs gst gl wayland: fix meson build
5
6Since introduction of meson build system, modifications introduced in
7NXP fork are breaking the build, where xdg-shell-client-protocol.h
8is searched via relative path. This code is only present in NXP fork and
9should be removed.
10
11This reverts commit [48bde732b00fb42df636ebbaf3b06e5e7971c206]
12("wayland: fix build break in yocto") from upstream.
13
14Upstream-Status: Pending
15
16Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
17---
18 gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
22index d1795591f..89dedd9b5 100644
23--- a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
24+++ b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
25@@ -22,7 +22,7 @@
26 #define __GST_GL_WINDOW_WAYLAND_EGL_H__
27
28 #include <wayland-client.h>
29-#include <gst/gl/wayland/xdg-shell-client-protocol.h>
30+#include "xdg-shell-client-protocol.h"
31 #include <wayland-egl.h>
32 #include <wayland-cursor.h>
33
34--
352.17.1
36
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch
new file mode 100644
index 00000000..da152531
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch
@@ -0,0 +1,220 @@
1From def285f623bc30b9d1acede00393188e693cc741 Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
3Date: Sat, 22 Feb 2020 13:22:57 +0000
4Subject: [PATCH] gstreamer-plugins-base: fix meson build in nxp fork
5
6- Add missing IMX header file into istall target;
7- Allocator's meta data files are missing in meson.build, bring them back;
8- Add ION NXP-specific allocator to meson.build;
9- Introduce additional configuration option to pass extra include paths,
10 which are required to build ION allocator;
11- Some video sources are missing, bring them also into the build;
12
13Upstream-Status: Pending
14
15Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
16---
17 gst-libs/gst/allocators/meson.build | 30 +++++++++++++++++++++++++++--
18 gst-libs/gst/gl/gstglconfig.h.meson | 2 ++
19 gst-libs/gst/gl/meson.build | 20 +++++++++++++++++++
20 gst-libs/gst/meson.build | 6 ++++++
21 gst-libs/gst/video/meson.build | 11 +++++++++++
22 meson.build | 3 +++
23 meson_options.txt | 4 ++++
24 7 files changed, 74 insertions(+), 2 deletions(-)
25
26diff --git a/gst-libs/gst/allocators/meson.build b/gst-libs/gst/allocators/meson.build
27index 364baeebf..30b1495c9 100644
28--- a/gst-libs/gst/allocators/meson.build
29+++ b/gst-libs/gst/allocators/meson.build
30@@ -5,18 +5,44 @@ gst_allocators_headers = [
31 'gstphysmemory.h',
32 'gstdmabuf.h',
33 ]
34+
35+imx_gst_allocators_headers = [
36+ 'gstphymemmeta.h',
37+ 'gstdmabufmeta.h',
38+ 'gstallocatorphymem.h',
39+]
40+
41+if cc.has_header('linux/ion.h', include_directories : imx_includes)
42+ imx_gst_allocators_headers += [
43+ 'gstionmemory.h',
44+ ]
45+endif
46+
47+gst_allocators_headers += imx_gst_allocators_headers
48+
49 install_headers(gst_allocators_headers, subdir : 'gstreamer-1.0/gst/allocators/')
50
51 gst_allocators_sources = [ 'gstdmabuf.c', 'gstfdmemory.c', 'gstphysmemory.c']
52+
53+imx_gst_allocators_sources = ['gstdmabufmeta.c', 'gstphymemmeta.c', 'gstallocatorphymem.c']
54+
55+if cc.has_header('linux/ion.h', include_directories : imx_includes)
56+ imx_gst_allocators_sources += [
57+ 'gstionmemory.c',
58+ ]
59+endif
60+
61+gst_allocators_sources += imx_gst_allocators_sources
62+
63 gstallocators = library('gstallocators-@0@'.format(api_version),
64 gst_allocators_sources,
65 c_args : gst_plugins_base_args + ['-DBUILDING_GST_ALLOCATORS'],
66- include_directories: [configinc, libsinc],
67+ include_directories: [configinc, libsinc, imx_includes],
68 version : libversion,
69 soversion : soversion,
70 darwin_versions : osxversion,
71 install : true,
72- dependencies : [gst_dep],
73+ dependencies : [video_dep, gst_dep],
74 )
75
76 allocators_gen_sources = []
77diff --git a/gst-libs/gst/gl/gstglconfig.h.meson b/gst-libs/gst/gl/gstglconfig.h.meson
78index 11795c16c..66cd54a7e 100644
79--- a/gst-libs/gst/gl/gstglconfig.h.meson
80+++ b/gst-libs/gst/gl/gstglconfig.h.meson
81@@ -32,8 +32,10 @@ G_BEGIN_DECLS
82 #mesondefine GST_GL_HAVE_PLATFORM_CGL
83 #mesondefine GST_GL_HAVE_PLATFORM_EAGL
84
85+#mesondefine GST_GL_HAVE_IONDMA
86 #mesondefine GST_GL_HAVE_DMABUF
87 #mesondefine GST_GL_HAVE_VIV_DIRECTVIV
88+#mesondefine GST_GL_HAVE_PHYMEM
89
90 #mesondefine GST_GL_HAVE_GLEGLIMAGEOES
91 #mesondefine GST_GL_HAVE_GLCHAR
92diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build
93index 0e0ba1b7d..6f6c6866d 100644
94--- a/gst-libs/gst/gl/meson.build
95+++ b/gst-libs/gst/gl/meson.build
96@@ -123,8 +123,10 @@ glconf_options = [
97 'GST_GL_HAVE_PLATFORM_CGL',
98 'GST_GL_HAVE_PLATFORM_EAGL',
99
100+ 'GST_GL_HAVE_IONDMA',
101 'GST_GL_HAVE_DMABUF',
102 'GST_GL_HAVE_VIV_DIRECTVIV',
103+ 'GST_GL_HAVE_PHYMEM',
104
105 'GST_GL_HAVE_GLEGLIMAGEOES',
106 'GST_GL_HAVE_GLCHAR',
107@@ -146,6 +148,18 @@ if unneeded_dep.found()
108 error ('Found unfindable dependency')
109 endif
110
111+if cc.has_header('linux/ion.h', include_directories : imx_includes)
112+ glconf.set10('GST_GL_HAVE_IONDMA', 1)
113+ gl_sources += [
114+ 'gstglmemorydma.c',
115+ ]
116+ gl_headers += [
117+ 'gstglmemorydma.h',
118+ ]
119+else
120+ error('i.MX platform requires ION support to be enabled!')
121+endif
122+
123 # OpenGL/GLES2 libraries
124 gl_lib_deps = []
125 # GL platform - EGL, GLX, CGL, WGL, etc
126@@ -501,6 +515,7 @@ if need_platform_egl != 'no'
127 glconf.set10('GST_GL_HAVE_DMABUF', 1)
128 endif
129
130+
131 egl_includes = '''
132 #include <EGL/egl.h>
133 #include <EGL/eglext.h>
134@@ -808,9 +823,14 @@ if need_platform_egl != 'no' and need_win_viv_fb != 'no'
135 enabled_gl_winsys += 'viv-fb'
136 glconf.set10('GST_GL_HAVE_WINDOW_VIV_FB', 1)
137 glconf.set10('GST_GL_HAVE_VIV_DIRECTVIV', 1)
138+ glconf.set10('GST_GL_HAVE_PHYMEM', 1)
139 gl_sources += [
140 'viv-fb/gstgldisplay_viv_fb.c',
141 'viv-fb/gstglwindow_viv_fb_egl.c',
142+ 'gstglphymemory.c',
143+ ]
144+ gl_headers += [
145+ 'gstglphymemory.h',
146 ]
147 gl_cpp_args += ['-DEGL_API_FB']
148 endif
149diff --git a/gst-libs/gst/meson.build b/gst-libs/gst/meson.build
150index cd3b5b043..1935f46e5 100644
151--- a/gst-libs/gst/meson.build
152+++ b/gst-libs/gst/meson.build
153@@ -11,3 +11,9 @@ subdir('app')
154 subdir('allocators')
155 # FIXME: gl deps are automagic
156 subdir('gl')
157+
158+# Install dangling imx header, required by other plugins
159+gst_imx_header = [
160+ 'gstimxcommon.h',
161+]
162+install_headers(gst_imx_header, subdir : 'gstreamer-1.0/')
163diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build
164index b4dfcdf65..d8531f199 100644
165--- a/gst-libs/gst/video/meson.build
166+++ b/gst-libs/gst/video/meson.build
167@@ -35,6 +35,11 @@ video_sources = [
168 'videooverlay.c',
169 ]
170
171+imx_video_sources = [
172+ 'gstvideohdr10meta.c',
173+]
174+video_sources += imx_video_sources
175+
176 video_headers = [
177 'colorbalance.h',
178 'colorbalancechannel.h',
179@@ -70,6 +75,12 @@ video_headers = [
180 'video-overlay-composition.h',
181 'video-multiview.h',
182 ]
183+
184+imx_video_headers = [
185+ 'gstvideohdr10meta.h',
186+]
187+video_headers += imx_video_headers
188+
189 install_headers(video_headers, subdir : 'gstreamer-1.0/gst/video/')
190
191 video_mkenum_headers = [
192diff --git a/meson.build b/meson.build
193index 2fca28205..7781934cd 100644
194--- a/meson.build
195+++ b/meson.build
196@@ -103,6 +103,9 @@ if glib_checks.disabled() or (glib_checks.auto() and not gst_version_is_dev)
197 add_project_arguments('-DG_DISABLE_CHECKS', language: 'c')
198 endif
199
200+# Define i.MX-specific include path as variable from options
201+imx_includes = include_directories(get_option('extra_imx_incdir'))
202+
203 check_headers = [
204 ['HAVE_DLFCN_H', 'dlfcn.h'],
205 ['HAVE_EMMINTRIN_H', 'emmintrin.h'],
206diff --git a/meson_options.txt b/meson_options.txt
207index e7af4dd45..d44401ca6 100644
208--- a/meson_options.txt
209+++ b/meson_options.txt
210@@ -85,3 +85,7 @@ option('package-name', type : 'string', yield : true,
211 description : 'package name to use in plugins')
212 option('package-origin', type : 'string', value : 'Unknown package origin', yield : true,
213 description : 'package origin URL to use in plugins')
214+
215+# NXP specific options
216+option('extra_imx_incdir', type : 'string', yield : true, description : 'i.MX specific header include path')
217+
218--
2192.17.1
220
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
new file mode 100644
index 00000000..55871883
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
@@ -0,0 +1,34 @@
1From f82db8496df8ffb8352248e895258c19f8f4776b Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
3Date: Thu, 17 Oct 2019 20:06:24 +0100
4Subject: [PATCH] meson: build gir even when cross-compiling if introspection
5 was enabled explicitly
6
7This can be made to work in certain circumstances when
8cross-compiling, so default to not building g-i stuff
9when cross-compiling, but allow it if introspection was
10enabled explicitly via -Dintrospection=enabled.
11
12See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
13
14Upstream-Status: Backport [30672ba7d134553e59935ddc875104adba26f25c]
15
16Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
17
18---
19 meson.build | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/meson.build b/meson.build
23index 2fca28205..2714af718 100644
24--- a/meson.build
25+++ b/meson.build
26@@ -355,7 +355,7 @@ endif
27
28 gir = find_program('g-ir-scanner', required : get_option('introspection'))
29 gnome = import('gnome')
30-build_gir = gir.found() and not meson.is_cross_build()
31+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
32 gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
33 'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \
34 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch
new file mode 100644
index 00000000..9494f622
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch
@@ -0,0 +1,233 @@
1From 7a21c86a3facfc7fe8285e764324839b2e55df8a Mon Sep 17 00:00:00 2001
2From: Thibault Saunier <tsaunier@igalia.com>
3Date: Mon, 22 Oct 2018 11:44:37 +0200
4Subject: [PATCH] meson: Add variables for gir files
5
6And flatten list of sources for dependencies
7
8Upstream-Status: Backport [685731e989dc074a4b0d48b6c8062e2738f09719]
9
10Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
11
12---
13 gst-libs/gst/allocators/meson.build | 5 +++--
14 gst-libs/gst/app/meson.build | 6 ++++--
15 gst-libs/gst/audio/meson.build | 5 +++--
16 gst-libs/gst/pbutils/meson.build | 5 +++--
17 gst-libs/gst/rtp/meson.build | 6 ++++--
18 gst-libs/gst/rtsp/meson.build | 5 +++--
19 gst-libs/gst/sdp/meson.build | 6 ++++--
20 gst-libs/gst/tag/meson.build | 5 +++--
21 gst-libs/gst/video/meson.build | 5 +++--
22 9 files changed, 30 insertions(+), 18 deletions(-)
23
24diff --git a/gst-libs/gst/allocators/meson.build b/gst-libs/gst/allocators/meson.build
25index 364baeebf..56f156dc3 100644
26--- a/gst-libs/gst/allocators/meson.build
27+++ b/gst-libs/gst/allocators/meson.build
28@@ -22,7 +22,7 @@ gstallocators = library('gstallocators-@0@'.format(api_version),
29 allocators_gen_sources = []
30 if build_gir
31 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/allocators/allocators.h' ]
32- allocators_gen_sources += [gnome.generate_gir(gstallocators,
33+ allocators_gir = gnome.generate_gir(gstallocators,
34 sources : gst_allocators_sources + gst_allocators_headers,
35 namespace : 'GstAllocators',
36 nsversion : api_version,
37@@ -33,7 +33,8 @@ if build_gir
38 install : true,
39 extra_args : gst_gir_extra_args,
40 dependencies : [gst_dep]
41- )]
42+ )
43+ allocators_gen_sources += allocators_gir
44 endif
45
46 allocators_dep = declare_dependency(link_with: gstallocators,
47diff --git a/gst-libs/gst/app/meson.build b/gst-libs/gst/app/meson.build
48index 81dd0f42c..7a90f5e10 100644
49--- a/gst-libs/gst/app/meson.build
50+++ b/gst-libs/gst/app/meson.build
51@@ -32,7 +32,7 @@ gstapp = library('gstapp-@0@'.format(api_version),
52
53 if build_gir
54 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/app/app.h' ]
55- app_gen_sources += [gnome.generate_gir(gstapp,
56+ app_gir = gnome.generate_gir(gstapp,
57 sources : app_sources + app_headers + [gstapp_c] + [gstapp_h],
58 namespace : 'GstApp',
59 nsversion : api_version,
60@@ -43,7 +43,9 @@ if build_gir
61 install : true,
62 extra_args : gst_gir_extra_args,
63 dependencies : [gst_dep, gst_base_dep]
64- )]
65+ )
66+
67+ app_gen_sources += app_gir
68 endif
69
70 app_dep = declare_dependency(link_with: gstapp,
71diff --git a/gst-libs/gst/audio/meson.build b/gst-libs/gst/audio/meson.build
72index 0e4efab2e..2a449d4bf 100644
73--- a/gst-libs/gst/audio/meson.build
74+++ b/gst-libs/gst/audio/meson.build
75@@ -153,7 +153,7 @@ gstaudio = library('gstaudio-@0@'.format(api_version),
76
77 if build_gir
78 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/audio/audio.h' ]
79- audio_gen_sources += [gnome.generate_gir(gstaudio,
80+ audio_gir = gnome.generate_gir(gstaudio,
81 sources : audio_src + audio_headers + [gstaudio_c] + [gstaudio_h],
82 namespace : 'GstAudio',
83 nsversion : api_version,
84@@ -164,7 +164,8 @@ if build_gir
85 install : true,
86 extra_args : gst_gir_extra_args,
87 dependencies : gstaudio_deps
88- )]
89+ )
90+ audio_gen_sources += [audio_gir]
91 endif
92
93 audio_dep = declare_dependency(link_with : gstaudio,
94diff --git a/gst-libs/gst/pbutils/meson.build b/gst-libs/gst/pbutils/meson.build
95index 2faf62622..0e96722fd 100644
96--- a/gst-libs/gst/pbutils/meson.build
97+++ b/gst-libs/gst/pbutils/meson.build
98@@ -63,7 +63,7 @@ pbutils = library('gstpbutils-@0@'.format(api_version),
99 pbutils_gen_sources = [gstpbutils_h, gst_pbutils_version_h]
100 if build_gir
101 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/pbutils/pbutils.h' ]
102- pbutils_gen_sources += [gnome.generate_gir(pbutils,
103+ pbutils_gir = gnome.generate_gir(pbutils,
104 sources : pbutils_sources + pbutils_headers + [gstpbutils_h, gst_pbutils_version_h],
105 namespace : 'GstPbutils',
106 nsversion : api_version,
107@@ -74,7 +74,8 @@ if build_gir
108 install : true,
109 extra_args : gst_gir_extra_args,
110 dependencies : gstpbutils_deps
111- )]
112+ )
113+ pbutils_gen_sources += [pbutils_gir]
114 endif
115
116 pbutils_dep = declare_dependency(link_with : pbutils,
117diff --git a/gst-libs/gst/rtp/meson.build b/gst-libs/gst/rtp/meson.build
118index f47ec6592..7ea6658d5 100644
119--- a/gst-libs/gst/rtp/meson.build
120+++ b/gst-libs/gst/rtp/meson.build
121@@ -49,7 +49,7 @@ gst_rtp = library('gstrtp-@0@'.format(api_version),
122 rtp_gen_sources = [gstrtp_enum_h]
123 if build_gir
124 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtp/rtp.h' ]
125- rtp_gen_sources += [gnome.generate_gir(gst_rtp,
126+ rtp_gir = gnome.generate_gir(gst_rtp,
127 sources : rtp_sources + rtp_headers + [gstrtp_enum_c] + [gstrtp_enum_h],
128 namespace : 'GstRtp',
129 nsversion : api_version,
130@@ -60,7 +60,9 @@ if build_gir
131 install : true,
132 extra_args : gst_gir_extra_args,
133 dependencies : gstrtp_deps
134- )]
135+ )
136+
137+ rtp_gen_sources += [rtp_gir]
138 endif
139
140
141diff --git a/gst-libs/gst/rtsp/meson.build b/gst-libs/gst/rtsp/meson.build
142index 27e309d5a..3632adceb 100644
143--- a/gst-libs/gst/rtsp/meson.build
144+++ b/gst-libs/gst/rtsp/meson.build
145@@ -54,7 +54,7 @@ gst_rtsp = library('gstrtsp-@0@'.format(api_version),
146 rtsp_gen_sources = [gstrtsp_h]
147 if build_gir
148 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtsp/rtsp.h' ]
149- rtsp_gen_sources += [gnome.generate_gir(gst_rtsp,
150+ rtsp_gir = gnome.generate_gir(gst_rtsp,
151 sources : rtsp_sources + rtsp_headers + [gstrtsp_c] + [gstrtsp_h],
152 namespace : 'GstRtsp',
153 nsversion : api_version,
154@@ -65,7 +65,8 @@ if build_gir
155 install : true,
156 extra_args : gst_gir_extra_args,
157 dependencies : gstrtsp_deps + [sdp_dep]
158- )]
159+ )
160+ rtsp_gen_sources += [rtsp_gir]
161 endif
162
163 rtsp_dep = declare_dependency(link_with : gst_rtsp,
164diff --git a/gst-libs/gst/sdp/meson.build b/gst-libs/gst/sdp/meson.build
165index 62c18b732..24cdb5293 100644
166--- a/gst-libs/gst/sdp/meson.build
167+++ b/gst-libs/gst/sdp/meson.build
168@@ -23,7 +23,7 @@ gstsdp = library('gstsdp-@0@'.format(api_version),
169 sdp_gen_sources = []
170 if build_gir
171 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/sdp/sdp.h' ]
172- sdp_gen_sources += [gnome.generate_gir(gstsdp,
173+ sdp_gir = gnome.generate_gir(gstsdp,
174 sources : gst_sdp_sources + gst_sdp_headers,
175 namespace : 'GstSdp',
176 nsversion : api_version,
177@@ -34,7 +34,9 @@ if build_gir
178 install : true,
179 extra_args : gst_gir_extra_args,
180 dependencies : rtsp_deps
181- )]
182+ )
183+
184+ sdp_gen_sources += [sdp_gir]
185 endif
186
187 sdp_dep = declare_dependency(link_with: gstsdp,
188diff --git a/gst-libs/gst/tag/meson.build b/gst-libs/gst/tag/meson.build
189index 27e66fd63..5ec37392a 100644
190--- a/gst-libs/gst/tag/meson.build
191+++ b/gst-libs/gst/tag/meson.build
192@@ -93,7 +93,7 @@ gsttag = library('gsttag-@0@'.format(api_version),
193
194 if build_gir
195 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/tag/tag.h' ]
196- tag_gen_sources += [gnome.generate_gir(gsttag,
197+ tag_gir = gnome.generate_gir(gsttag,
198 sources : tag_sources + tag_headers + [gsttag_h] + [gsttag_c],
199 namespace : 'GstTag',
200 nsversion : api_version,
201@@ -104,7 +104,8 @@ if build_gir
202 install : true,
203 extra_args : gst_gir_extra_args,
204 dependencies : tag_deps
205- )]
206+ )
207+ tag_gen_sources += [tag_gir]
208 endif
209
210 tag_dep = declare_dependency(link_with: gsttag,
211diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build
212index b4dfcdf65..036c3a6a7 100644
213--- a/gst-libs/gst/video/meson.build
214+++ b/gst-libs/gst/video/meson.build
215@@ -135,7 +135,7 @@ gstvideo = library('gstvideo-@0@'.format(api_version),
216
217 if build_gir
218 gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ]
219- video_gen_sources += [gnome.generate_gir(gstvideo,
220+ video_gir = gnome.generate_gir(gstvideo,
221 sources : video_sources + video_headers + [gstvideo_c] + [gstvideo_h],
222 namespace : 'GstVideo',
223 nsversion : api_version,
224@@ -146,7 +146,8 @@ if build_gir
225 install : true,
226 extra_args : gst_gir_extra_args,
227 dependencies : gstvideo_deps
228- )]
229+ )
230+ video_gen_sources += [video_gir]
231 endif
232
233 video_dep = declare_dependency(link_with : gstvideo,
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch
deleted file mode 100644
index b3e4326b..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From 836769c4a26231f36a48aeadb9e332bd7224c785 Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
3Date: Sun, 22 Dec 2019 14:49:57 +0000
4Subject: [PATCH 2/2] rtsp: drop incorrect reference to gstreamer-sdp in
5 Makefile.am
6
7Rebase following patch from upstream to match NXP version 1.16:
8
9From: Alexander Kanavin <alex.kanavin@gmail.com>
10Date: Mon, 26 Oct 2015 17:30:14 +0200
11Subject: [PATCH 4/4] rtsp: drop incorrect reference to gstreamer-sdp in
12 Makefile.am
13
14Upstream-Status: Pending [review on oe-core maillist]
15Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
16Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
17---
18 gst-libs/gst/rtsp/Makefile.am | 1 -
19 1 file changed, 1 deletion(-)
20
21diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am
22index 13ac1b395..8b03125c7 100644
23--- a/gst-libs/gst/rtsp/Makefile.am
24+++ b/gst-libs/gst/rtsp/Makefile.am
25@@ -82,7 +82,6 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS
26 --pkg gio-2.0 \
27 --pkg gstreamer-@GST_API_VERSION@ \
28 --pkg gstreamer-base-@GST_API_VERSION@ \
29- --pkg gstreamer-sdp-@GST_API_VERSION@ \
30 --pkg-export gstreamer-rtsp-@GST_API_VERSION@ \
31 --add-init-section="$(INTROSPECTION_INIT)" \
32 --output $@ \
33--
342.17.1
35
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-riff-add-missing-include-directories-when-calling-in.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-riff-add-missing-include-directories-when-calling-in.patch
deleted file mode 100644
index 9b66f7f4..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-riff-add-missing-include-directories-when-calling-in.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From 3c2c2d5dd08aa30ed0e8acd8566ec99412bb8209 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Mon, 26 Oct 2015 17:29:37 +0200
4Subject: [PATCH 3/4] riff: add missing include directories when calling
5 introspection scanner
6
7Upstream-Status: Pending [review on oe-core maillist]
8Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
9---
10 gst-libs/gst/riff/Makefile.am | 2 ++
11 1 file changed, 2 insertions(+)
12
13diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am
14index 0a115cc..5057a58 100644
15--- a/gst-libs/gst/riff/Makefile.am
16+++ b/gst-libs/gst/riff/Makefile.am
17@@ -39,6 +39,8 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS)
18 # --strip-prefix=Gst \
19 # --warn-all \
20 # --c-include "gst/riff/riff.h" \
21+# -I$(top_srcdir)/gst-libs \
22+# -I$(top_builddir)/gst-libs \
23 # --add-include-path=$(builddir)/../tag \
24 # --add-include-path=$(builddir)/../audio \
25 # --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
26--
272.6.2
28
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch
new file mode 100644
index 00000000..731ba873
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch
@@ -0,0 +1,30 @@
1From 616cf194dfd26818ed7b776321582b8e0ff9b3f1 Mon Sep 17 00:00:00 2001
2From: Carlos Rafael Giani <crg7475@mailbox.org>
3Date: Tue, 21 May 2019 14:01:11 +0200
4Subject: [PATCH] viv-fb: Make sure config.h is included
5
6This prevents build errors due to missing GST_API_* symbols
7
8Upstream-Status: Pending
9
10Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
11
12---
13 gst-libs/gst/gl/gl-prelude.h | 4 ++++
14 1 file changed, 4 insertions(+)
15
16diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h
17index 05e1f6229..96ce5e685 100644
18--- a/gst-libs/gst/gl/gl-prelude.h
19+++ b/gst-libs/gst/gl/gl-prelude.h
20@@ -22,6 +22,10 @@
21 #ifndef __GST_GL_PRELUDE_H__
22 #define __GST_GL_PRELUDE_H__
23
24+#ifdef HAVE_CONFIG_H
25+#include "config.h"
26+#endif
27+
28 #include <gst/gst.h>
29
30 #ifdef BUILDING_GST_GL
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch
new file mode 100644
index 00000000..fc67a486
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch
@@ -0,0 +1,30 @@
1From f18f1206ec44f4154e60546ecb82823f7a6569d7 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Thu, 24 Sep 2015 19:47:32 +0300
4Subject: [PATCH] glimagesink: Downrank to marginal
5
6On desktop, where there is good OpenGL, xvimagesink will come up first,
7on other platforms, OpenGL can't be trusted because it's either software (like
8in a VM) or broken (like on embedded)., so let ximagesink come above.
9
10Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=751684]
11
12Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
13
14---
15 ext/gl/gstopengl.c | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c
19index 302e8452c..463be9cd8 100644
20--- a/ext/gl/gstopengl.c
21+++ b/ext/gl/gstopengl.c
22@@ -127,7 +127,7 @@ plugin_init (GstPlugin * plugin)
23 #endif
24
25 if (!gst_element_register (plugin, "glimagesink",
26- GST_RANK_SECONDARY, gst_gl_image_sink_bin_get_type ())) {
27+ GST_RANK_MARGINAL, gst_gl_image_sink_bin_get_type ())) {
28 return FALSE;
29 }
30
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/make-gio_unix_2_0-dependency-configurable.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/make-gio_unix_2_0-dependency-configurable.patch
deleted file mode 100644
index 23950b67..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/make-gio_unix_2_0-dependency-configurable.patch
+++ /dev/null
@@ -1,45 +0,0 @@
1From 7ffa6e3d00e1d8a060f3f4c2bb9a72691af05d79 Mon Sep 17 00:00:00 2001
2From: Andre McCurdy <armccurdy@gmail.com>
3Date: Wed, 20 Jan 2016 13:00:00 -0800
4Subject: [PATCH] make gio_unix_2_0 dependency configurable
5
6Prior to 1.7.1, gst-plugins-base accepted a configure option to
7disable gio_unix_2_0, however it was implemented incorrectly using
8AG_GST_CHECK_FEATURE. That was fixed in 1.7.1 by making the
9dependency unconditional.
10
11 http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=aadefefba88afe4acbe64454650f24e7ce7c8d70
12
13To make builds deterministic, re-instate support for
14--disable-gio_unix_2_0, but implement it using the AC_ARG_ENABLE
15instead of AG_GST_CHECK_FEATURE.
16
17Upstream-Status: Pending
18
19Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
20
21---
22 configure.ac | 7 +++++++
23 1 file changed, 7 insertions(+)
24
25diff --git a/configure.ac b/configure.ac
26index 12807bc..35a0bf3 100644
27--- a/configure.ac
28+++ b/configure.ac
29@@ -806,9 +806,16 @@ AM_CONDITIONAL(HAVE_PNG, test "x$HAVE_PNG" = "xyes")
30 AM_CONDITIONAL(HAVE_JPEG, test "x$HAVE_JPEG" = "xyes")
31
32 dnl *** gio-unix-2.0 for tests/check/pipelines/tcp.c ***
33+AC_ARG_ENABLE([gio_unix_2_0],
34+ [AS_HELP_STRING([--disable-gio_unix_2_0],[disable use of gio_unix_2_0])],
35+ [],
36+ [enable_gio_unix_2_0=yes])
37+
38+if test "x${enable_gio_unix_2_0}" != "xno"; then
39 PKG_CHECK_MODULES(GIO_UNIX_2_0, gio-unix-2.0 >= 2.24,
40 HAVE_GIO_UNIX_2_0="yes",
41 HAVE_GIO_UNIX_2_0="no")
42+fi
43 AM_CONDITIONAL(USE_GIO_UNIX_2_0, test "x$HAVE_GIO_UNIX_2_0" = "xyes")
44
45 dnl *** finalize CFLAGS, LDFLAGS, LIBS
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.imx.bb
index 1310d94d..0329fc2a 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.imx.bb
@@ -4,81 +4,97 @@ LICENSE = "GPLv2+ & LGPLv2+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ 4LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
5 file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607" 5 file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607"
6 6
7DEPENDS += "iso-codes util-linux"
8DEPENDS_append_imxgpu2d = " virtual/libg2d"
9
10GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https" 7GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
11SRCBRANCH = "MM_04.05.01_1909_L4.19.35" 8SRCBRANCH = "MM_04.05.01_1909_L4.19.35"
12SRCREV = "df30480711d68a1c1d2152bf4d6a7b245a85f967" 9SRCREV = "df30480711d68a1c1d2152bf4d6a7b245a85f967"
13SRC_URI = " \ 10SRC_URI = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \
14 ${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \ 11 file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
15 file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ 12 file://0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch \
16 file://make-gio_unix_2_0-dependency-configurable.patch \ 13 file://0002-meson-Add-variables-for-gir-files.patch \
17 file://0001-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch \ 14 file://0005-viv-fb-Make-sure-config.h-is-included.patch \
18 file://0003-riff-add-missing-include-directories-when-calling-in.patch \ 15 file://0009-glimagesink-Downrank-to-marginal.patch \
19 file://0002-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch \ 16 file://0001-gst-libs-gst-gl-wayland-fix-meson-build.patch \
20" 17 "
21 18
22S = "${WORKDIR}/git" 19S = "${WORKDIR}/git"
23 20
24inherit gettext use-imx-headers 21DEPENDS += "iso-codes util-linux zlib"
22DEPENDS_append_imxgpu2d = " virtual/libg2d"
25 23
26DEFAULT_PREFERENCE = "-1" 24inherit use-imx-headers gobject-introspection gtk-doc
27 25
28EXTRA_AUTORECONF = "" 26DEFAULT_PREFERENCE = "-1"
29 27
30# opengl packageconfig factored out to make it easy for distros
31# and BSP layers to pick either (desktop) opengl, gles2, or no GL
32PACKAGES_DYNAMIC =+ "^libgst.*" 28PACKAGES_DYNAMIC =+ "^libgst.*"
33 29
30# opengl packageconfig factored out to make it easy for distros
31# and BSP layers to choose OpenGL APIs/platforms/window systems
34PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" 32PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
35 33
36PACKAGECONFIG ??= " \ 34PACKAGECONFIG ??= " \
37 ${GSTREAMER_ORC} \ 35 ${GSTREAMER_ORC} \
38 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \
39 ogg pango theora vorbis \
40 ${PACKAGECONFIG_GL} \ 36 ${PACKAGECONFIG_GL} \
41 gio-unix-2.0 zlib \ 37 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \
38 ogg pango png theora vorbis \
42 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ 39 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
43" 40"
44 41
42OPENGL_APIS = 'opengl gles2'
43OPENGL_PLATFORMS = 'egl'
44OPENGL_WINSYS = 'x11 wayland gbm'
45
45X11DEPENDS = "virtual/libx11 libsm libxrender libxv" 46X11DEPENDS = "virtual/libx11 libsm libxrender libxv"
46X11ENABLEOPTS = "--enable-x --enable-xvideo --enable-xshm" 47X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled"
47X11DISABLEOPTS = "--disable-x --disable-xvideo --disable-xshm" 48X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled"
48 49
49PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib" 50PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
50PACKAGECONFIG[cdparanoia] = "--enable-cdparanoia,--disable-cdparanoia,cdparanoia" 51PACKAGECONFIG[cdparanoia] = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia"
51PACKAGECONFIG[ivorbis] = "--enable-ivorbis,--disable-ivorbis,tremor" 52PACKAGECONFIG[jpeg] = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg"
52PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libogg" 53PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg"
53PACKAGECONFIG[opus] = "--enable-opus,--disable-opus,libopus" 54PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus"
54PACKAGECONFIG[pango] = "--enable-pango,--disable-pango,pango" 55PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango"
55PACKAGECONFIG[theora] = "--enable-theora,--disable-theora,libtheora" 56PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng"
56PACKAGECONFIG[visual] = "--enable-libvisual,--disable-libvisual,libvisual" 57PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora"
57PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis" 58PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor"
59PACKAGECONFIG[visual] = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual"
60PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis"
58PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" 61PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
59PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" 62
60PACKAGECONFIG[gio-unix-2.0] = "--enable-gio_unix_2_0,--disable-gio_unix_2_0,glib-2.0" 63# OpenGL API packageconfigs
61PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,virtual/libgles2" 64PACKAGECONFIG[opengl] = ",,virtual/libgl libglu"
62PACKAGECONFIG[opengl] = "--enable-opengl,--disable-opengl,virtual/libgl libglu" 65PACKAGECONFIG[gles2] = ",,virtual/libgles2"
63PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm" 66
64PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" 67# OpenGL platform packageconfigs
65 68PACKAGECONFIG[egl] = ",,virtual/egl"
66# Disable introspection to fix [GstGL-1.0.gir] Error 69
67EXTRA_OECONF += " \ 70# OpenGL window systems (except for X11)
68 --enable-zlib \ 71PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm"
69 CPPFLAGS="-I${STAGING_INCDIR_IMX}" \ 72PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm"
70 --disable-introspection \ 73
71 --disable-opengl \ 74EXTRA_OEMESON += " \
72 --enable-wayland \ 75 -Dgl-graphene=disabled \
76 ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
77 ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
78 ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
79 -Dextra_imx_incdir=${STAGING_INCDIR_IMX} \
73" 80"
74 81
82GTKDOC_MESON_OPTION = "gtk_doc"
83GTKDOC_MESON_ENABLE_FLAG = "enabled"
84GTKDOC_MESON_DISABLE_FLAG = "disabled"
85
75FILES_${PN} += "${libdir}/gstreamer-1.0/include" 86FILES_${PN} += "${libdir}/gstreamer-1.0/include"
76FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict" 87FILES_${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict"
77 88
78CACHED_CONFIGUREVARS_append_x86 = " ac_cv_header_emmintrin_h=no ac_cv_header_xmmintrin_h=no"
79
80do_compile_prepend() {
81 export GIR_EXTRA_LIBS_PATH="${B}/gst-libs/gst/tag/.libs:${B}/gst-libs/gst/video/.libs:${B}/gst-libs/gst/audio/.libs:${B}/gst-libs/gst/rtp/.libs"
82}
83
84COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" 89COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
90
91def get_opengl_cmdline_list(switch_name, options, d):
92 selected_options = []
93 if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
94 for option in options.split():
95 if bb.utils.contains('PACKAGECONFIG', option, True, False, d):
96 selected_options += [option]
97 if selected_options:
98 return '-D' + switch_name + '=' + ','.join(selected_options)
99 else:
100 return ''