summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Hochstein <tom.hochstein@nxp.com>2021-08-30 16:57:18 -0500
committerTom Hochstein <tom.hochstein@nxp.com>2021-08-31 11:16:28 -0500
commitf09aae9e3da3f2de1d9aafc328160d71c03a2ba9 (patch)
tree6681a1e5316b3859b15de9d5f71e5ffc690a6c68
parent0b35cb16401ec2df48d4b68f941744fdfaada2aa (diff)
downloadmeta-freescale-f09aae9e3da3f2de1d9aafc328160d71c03a2ba9.tar.gz
gstreamer1.0-plugins-base: Upgrade to 1.18.0.imx
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
-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/0001-meson-viv-fb-code-must-link-against-libg2d.patch44
-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/0003-viv-fb-Make-sure-config.h-is-included.patch (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch)2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch)2
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch48
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb)42
9 files changed, 71 insertions, 590 deletions
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
deleted file mode 100644
index 61baf2f9..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gst-libs-gst-gl-wayland-fix-meson-build.patch
+++ /dev/null
@@ -1,36 +0,0 @@
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
deleted file mode 100644
index da152531..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch
+++ /dev/null
@@ -1,220 +0,0 @@
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
deleted file mode 100644
index 55871883..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
+++ /dev/null
@@ -1,34 +0,0 @@
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/0001-meson-viv-fb-code-must-link-against-libg2d.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-viv-fb-code-must-link-against-libg2d.patch
deleted file mode 100644
index c761619f..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-viv-fb-code-must-link-against-libg2d.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From 8153e86dac04076fb80fc272c8374d4ba019fa3c Mon Sep 17 00:00:00 2001
2From: Zan Dobersek <zdobersek@igalia.com>
3Date: Wed, 4 Nov 2020 14:02:10 +0100
4Subject: [PATCH] meson: viv-fb code must link against libg2d
5
6Find the libg2d library and link against it, if necessary, avoiding
7linking errors for couple of libg2d symbols.
8
9Upstream-Status: Pending
10
11Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
12---
13 gst-libs/gst/gl/meson.build | 6 +++++-
14 1 file changed, 5 insertions(+), 1 deletion(-)
15
16diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build
17index 6f6c6866d..fb6a9aabf 100644
18--- a/gst-libs/gst/gl/meson.build
19+++ b/gst-libs/gst/gl/meson.build
20@@ -818,9 +818,11 @@ if need_win_gbm != 'no'
21 endif
22
23 if need_platform_egl != 'no' and need_win_viv_fb != 'no'
24- if egl_dep.found() and cc.has_function ('fbGetDisplay', dependencies : egl_dep)
25+ g2d_dep = cc.find_library('g2d', required : false)
26+ if egl_dep.found() and g2d_dep.found() and cc.has_function ('fbGetDisplay', dependencies : egl_dep)
27 if cc.has_function ('glTexDirectVIV', dependencies : gles2_dep)
28 enabled_gl_winsys += 'viv-fb'
29+ gl_winsys_deps += [g2d_dep]
30 glconf.set10('GST_GL_HAVE_WINDOW_VIV_FB', 1)
31 glconf.set10('GST_GL_HAVE_VIV_DIRECTVIV', 1)
32 glconf.set10('GST_GL_HAVE_PHYMEM', 1)
33@@ -834,6 +836,8 @@ if need_platform_egl != 'no' and need_win_viv_fb != 'no'
34 ]
35 gl_cpp_args += ['-DEGL_API_FB']
36 endif
37+ else
38+ g2d_dep = unneeded_dep
39 endif
40 endif
41
42--
432.28.0
44
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
deleted file mode 100644
index 9494f622..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch
+++ /dev/null
@@ -1,233 +0,0 @@
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/0005-viv-fb-Make-sure-config.h-is-included.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch
index 731ba873..b8fc8827 100644
--- 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/0003-viv-fb-Make-sure-config.h-is-included.patch
@@ -1,4 +1,4 @@
1From 616cf194dfd26818ed7b776321582b8e0ff9b3f1 Mon Sep 17 00:00:00 2001 1From 70a702af3a3a4afcadbc53d61c4c45f31f96b2cc Mon Sep 17 00:00:00 2001
2From: Carlos Rafael Giani <crg7475@mailbox.org> 2From: Carlos Rafael Giani <crg7475@mailbox.org>
3Date: Tue, 21 May 2019 14:01:11 +0200 3Date: Tue, 21 May 2019 14:01:11 +0200
4Subject: [PATCH] viv-fb: Make sure config.h is included 4Subject: [PATCH] viv-fb: Make sure config.h is included
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch
index fc67a486..94a61465 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch
@@ -1,4 +1,4 @@
1From f18f1206ec44f4154e60546ecb82823f7a6569d7 Mon Sep 17 00:00:00 2001 1From b975be9c4630536ec1315773be29900371d21930 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com> 2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Thu, 24 Sep 2015 19:47:32 +0300 3Date: Thu, 24 Sep 2015 19:47:32 +0300
4Subject: [PATCH] glimagesink: Downrank to marginal 4Subject: [PATCH] glimagesink: Downrank to marginal
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch
new file mode 100644
index 00000000..0fa3dd30
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch
@@ -0,0 +1,48 @@
1From 1718197bf6ebf3d8784a55126609aa8770fff682 Mon Sep 17 00:00:00 2001
2From: Xavier Claessens <xavier.claessens@collabora.com>
3Date: Mon, 26 Apr 2021 14:25:03 -0400
4Subject: [PATCH] gstgl: Fix build when Meson >= 0.58.0rc1
5
6"implicit_include_directories: false" now also means that current build
7directory is not added to include paths by default any more. We have to
8add it manually because we have some custom_target() that generate
9headers in current build directory.
10
11See https://github.com/mesonbuild/meson/issues/8700.
12
13Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1125>
14Upstream-Status: Backport
15Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
16
17---
18 gst-libs/gst/gl/meson.build | 15 ++++++++++++---
19 1 file changed, 12 insertions(+), 3 deletions(-)
20
21diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build
22index ae19d7aca..3ad7ddcf6 100644
23--- a/gst-libs/gst/gl/meson.build
24+++ b/gst-libs/gst/gl/meson.build
25@@ -1023,11 +1023,20 @@ if build_gstgl
26 command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@'])
27 gen_sources = [gl_enumtypes_h]
28
29+ common_args = gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL']
30+
31+ # We have custom_target() that generate headers in the current build dir,
32+ # but with implicit_include_directories: false, meson >= 0.58.0 won't include
33+ # it by default. We cannot use include_directories('.') here because it would
34+ # also include current source dir which is what we want to avoid because
35+ # case-insensitive FS would include gst-libs/gl/egl/egl.h as EGL/egl.h.
36+ common_args += '-I@0@'.format(meson.current_build_dir())
37+
38 gstgl = library('gstgl-' + api_version,
39 gl_sources, gl_egl_sources, gl_x11_sources, gl_wayland_sources, gl_priv_sources, gl_enumtypes_c, gl_enumtypes_h,
40- c_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'],
41- cpp_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'],
42- objc_args : gst_plugins_base_args + gl_cpp_args + gl_objc_args + ['-DBUILDING_GST_GL'],
43+ c_args : common_args,
44+ cpp_args : common_args,
45+ objc_args : common_args + gl_objc_args,
46 include_directories : [configinc, libsinc, gl_includes],
47 version : libversion,
48 soversion : soversion,
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb
index ccc8e815..142e0ba5 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb
@@ -1,28 +1,26 @@
1require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc 1require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
2 2
3DESCRIPTION = "'Base' GStreamer plugins and helper libraries"
4HOMEPAGE = "https://gstreamer.freedesktop.org/"
5BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues"
3LICENSE = "GPLv2+ & LGPLv2+" 6LICENSE = "GPLv2+ & LGPLv2+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ 7LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
5 file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607"
6 8
7GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https" 9GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
8SRCBRANCH = "MM_04.05.06_2008_L5.4.47" 10SRCBRANCH = "MM_04.06.01_2105_L5.10.y"
9SRCREV = "3c4aa2a58576d68f6e684efa58609665679c9969"
10SRC_URI = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \ 11SRC_URI = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \
11 file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \ 12 file://0003-viv-fb-Make-sure-config.h-is-included.patch \
12 file://0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch \ 13 file://0004-glimagesink-Downrank-to-marginal.patch \
13 file://0002-meson-Add-variables-for-gir-files.patch \ 14 file://4ef5c91697a141fea7317aff7f0f28e5a861db99.patch \
14 file://0005-viv-fb-Make-sure-config.h-is-included.patch \
15 file://0009-glimagesink-Downrank-to-marginal.patch \
16 file://0001-gst-libs-gst-gl-wayland-fix-meson-build.patch \
17 file://0001-meson-viv-fb-code-must-link-against-libg2d.patch \
18 " 15 "
16SRCREV = "69554a26c932481acb7c5691038c367eca60e5bc"
19 17
20S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
21 19
22DEPENDS += "iso-codes util-linux zlib" 20DEPENDS += "iso-codes util-linux zlib"
23DEPENDS:append:imxgpu2d = " virtual/libg2d" 21DEPENDS:append:imxgpu2d = " virtual/libg2d"
24 22
25inherit use-imx-headers gobject-introspection gtk-doc 23inherit gobject-introspection use-imx-headers
26 24
27DEFAULT_PREFERENCE = "-1" 25DEFAULT_PREFERENCE = "-1"
28 26
@@ -36,7 +34,7 @@ PACKAGECONFIG ??= " \
36 ${GSTREAMER_ORC} \ 34 ${GSTREAMER_ORC} \
37 ${PACKAGECONFIG_GL} \ 35 ${PACKAGECONFIG_GL} \
38 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \ 36 ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \
39 ogg pango png theora vorbis \ 37 jpeg ogg pango png theora vorbis \
40 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ 38 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \
41" 39"
42 40
@@ -71,25 +69,23 @@ PACKAGECONFIG[egl] = ",,virtual/egl"
71# OpenGL window systems (except for X11) 69# OpenGL window systems (except for X11)
72PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm" 70PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm"
73PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm" 71PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm"
72PACKAGECONFIG[dispmanx] = ",,virtual/libomxil"
74PACKAGECONFIG[viv-fb] = ",,virtual/libgles2 virtual/libg2d" 73PACKAGECONFIG[viv-fb] = ",,virtual/libgles2 virtual/libg2d"
75 74
75OPENGL_WINSYS = "${@bb.utils.filter('PACKAGECONFIG', 'x11 gbm wayland dispmanx egl viv-fb', d)}"
76
76EXTRA_OEMESON += " \ 77EXTRA_OEMESON += " \
78 -Ddoc=disabled \
77 -Dgl-graphene=disabled \ 79 -Dgl-graphene=disabled \
78 ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \ 80 ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
79 ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \ 81 ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
80 ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \ 82 ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
81 -Dextra_imx_incdir=${STAGING_INCDIR_IMX} \ 83 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
82" 84"
83 85
84GTKDOC_MESON_OPTION = "gtk_doc" 86FILES:${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h"
85GTKDOC_MESON_ENABLE_FLAG = "enabled"
86GTKDOC_MESON_DISABLE_FLAG = "disabled"
87
88FILES:${PN} += "${libdir}/gstreamer-1.0/include"
89FILES:${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"
90 88
91COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"
92
93def get_opengl_cmdline_list(switch_name, options, d): 89def get_opengl_cmdline_list(switch_name, options, d):
94 selected_options = [] 90 selected_options = []
95 if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d): 91 if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d):
@@ -100,3 +96,7 @@ def get_opengl_cmdline_list(switch_name, options, d):
100 return '-D' + switch_name + '=' + ','.join(selected_options) 96 return '-D' + switch_name + '=' + ','.join(selected_options)
101 else: 97 else:
102 return '' 98 return ''
99
100CVE_PRODUCT += "gst-plugins-base"
101
102COMPATIBLE_MACHINE = "(mx6|mx7|mx8)"