From f09aae9e3da3f2de1d9aafc328160d71c03a2ba9 Mon Sep 17 00:00:00 2001 From: Tom Hochstein Date: Mon, 30 Aug 2021 16:57:18 -0500 Subject: gstreamer1.0-plugins-base: Upgrade to 1.18.0.imx Signed-off-by: Tom Hochstein --- ...1-gst-libs-gst-gl-wayland-fix-meson-build.patch | 36 ---- ...-plugins-base-fix-meson-build-in-nxp-fork.patch | 220 ------------------- ...-gir-even-when-cross-compiling-if-introsp.patch | 34 --- ...eson-viv-fb-code-must-link-against-libg2d.patch | 44 ---- .../0002-meson-Add-variables-for-gir-files.patch | 233 --------------------- ...003-viv-fb-Make-sure-config.h-is-included.patch | 30 +++ .../0004-glimagesink-Downrank-to-marginal.patch | 30 +++ ...005-viv-fb-Make-sure-config.h-is-included.patch | 30 --- .../0009-glimagesink-Downrank-to-marginal.patch | 30 --- .../4ef5c91697a141fea7317aff7f0f28e5a861db99.patch | 48 +++++ .../gstreamer1.0-plugins-base_1.16.2.imx.bb | 102 --------- .../gstreamer1.0-plugins-base_1.18.0.imx.bb | 102 +++++++++ 12 files changed, 210 insertions(+), 729 deletions(-) delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gst-libs-gst-gl-wayland-fix-meson-build.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-meson-viv-fb-code-must-link-against-libg2d.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-meson-Add-variables-for-gir-files.patch create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/4ef5c91697a141fea7317aff7f0f28e5a861db99.patch delete mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb create mode 100644 recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb (limited to 'recipes-multimedia') 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 @@ -From a145a129a8122f21c1e243b3dc2e5708f4c13bef Mon Sep 17 00:00:00 2001 -From: Andrey Zhizhikin -Date: Thu, 23 Jan 2020 12:54:10 +0000 -Subject: [PATCH] gst-libs gst gl wayland: fix meson build - -Since introduction of meson build system, modifications introduced in -NXP fork are breaking the build, where xdg-shell-client-protocol.h -is searched via relative path. This code is only present in NXP fork and -should be removed. - -This reverts commit [48bde732b00fb42df636ebbaf3b06e5e7971c206] -("wayland: fix build break in yocto") from upstream. - -Upstream-Status: Pending - -Signed-off-by: Andrey Zhizhikin ---- - gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h -index d1795591f..89dedd9b5 100644 ---- a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h -+++ b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h -@@ -22,7 +22,7 @@ - #define __GST_GL_WINDOW_WAYLAND_EGL_H__ - - #include --#include -+#include "xdg-shell-client-protocol.h" - #include - #include - --- -2.17.1 - 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 @@ -From def285f623bc30b9d1acede00393188e693cc741 Mon Sep 17 00:00:00 2001 -From: Andrey Zhizhikin -Date: Sat, 22 Feb 2020 13:22:57 +0000 -Subject: [PATCH] gstreamer-plugins-base: fix meson build in nxp fork - -- Add missing IMX header file into istall target; -- Allocator's meta data files are missing in meson.build, bring them back; -- Add ION NXP-specific allocator to meson.build; -- Introduce additional configuration option to pass extra include paths, - which are required to build ION allocator; -- Some video sources are missing, bring them also into the build; - -Upstream-Status: Pending - -Signed-off-by: Andrey Zhizhikin ---- - gst-libs/gst/allocators/meson.build | 30 +++++++++++++++++++++++++++-- - gst-libs/gst/gl/gstglconfig.h.meson | 2 ++ - gst-libs/gst/gl/meson.build | 20 +++++++++++++++++++ - gst-libs/gst/meson.build | 6 ++++++ - gst-libs/gst/video/meson.build | 11 +++++++++++ - meson.build | 3 +++ - meson_options.txt | 4 ++++ - 7 files changed, 74 insertions(+), 2 deletions(-) - -diff --git a/gst-libs/gst/allocators/meson.build b/gst-libs/gst/allocators/meson.build -index 364baeebf..30b1495c9 100644 ---- a/gst-libs/gst/allocators/meson.build -+++ b/gst-libs/gst/allocators/meson.build -@@ -5,18 +5,44 @@ gst_allocators_headers = [ - 'gstphysmemory.h', - 'gstdmabuf.h', - ] -+ -+imx_gst_allocators_headers = [ -+ 'gstphymemmeta.h', -+ 'gstdmabufmeta.h', -+ 'gstallocatorphymem.h', -+] -+ -+if cc.has_header('linux/ion.h', include_directories : imx_includes) -+ imx_gst_allocators_headers += [ -+ 'gstionmemory.h', -+ ] -+endif -+ -+gst_allocators_headers += imx_gst_allocators_headers -+ - install_headers(gst_allocators_headers, subdir : 'gstreamer-1.0/gst/allocators/') - - gst_allocators_sources = [ 'gstdmabuf.c', 'gstfdmemory.c', 'gstphysmemory.c'] -+ -+imx_gst_allocators_sources = ['gstdmabufmeta.c', 'gstphymemmeta.c', 'gstallocatorphymem.c'] -+ -+if cc.has_header('linux/ion.h', include_directories : imx_includes) -+ imx_gst_allocators_sources += [ -+ 'gstionmemory.c', -+ ] -+endif -+ -+gst_allocators_sources += imx_gst_allocators_sources -+ - gstallocators = library('gstallocators-@0@'.format(api_version), - gst_allocators_sources, - c_args : gst_plugins_base_args + ['-DBUILDING_GST_ALLOCATORS'], -- include_directories: [configinc, libsinc], -+ include_directories: [configinc, libsinc, imx_includes], - version : libversion, - soversion : soversion, - darwin_versions : osxversion, - install : true, -- dependencies : [gst_dep], -+ dependencies : [video_dep, gst_dep], - ) - - allocators_gen_sources = [] -diff --git a/gst-libs/gst/gl/gstglconfig.h.meson b/gst-libs/gst/gl/gstglconfig.h.meson -index 11795c16c..66cd54a7e 100644 ---- a/gst-libs/gst/gl/gstglconfig.h.meson -+++ b/gst-libs/gst/gl/gstglconfig.h.meson -@@ -32,8 +32,10 @@ G_BEGIN_DECLS - #mesondefine GST_GL_HAVE_PLATFORM_CGL - #mesondefine GST_GL_HAVE_PLATFORM_EAGL - -+#mesondefine GST_GL_HAVE_IONDMA - #mesondefine GST_GL_HAVE_DMABUF - #mesondefine GST_GL_HAVE_VIV_DIRECTVIV -+#mesondefine GST_GL_HAVE_PHYMEM - - #mesondefine GST_GL_HAVE_GLEGLIMAGEOES - #mesondefine GST_GL_HAVE_GLCHAR -diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build -index 0e0ba1b7d..6f6c6866d 100644 ---- a/gst-libs/gst/gl/meson.build -+++ b/gst-libs/gst/gl/meson.build -@@ -123,8 +123,10 @@ glconf_options = [ - 'GST_GL_HAVE_PLATFORM_CGL', - 'GST_GL_HAVE_PLATFORM_EAGL', - -+ 'GST_GL_HAVE_IONDMA', - 'GST_GL_HAVE_DMABUF', - 'GST_GL_HAVE_VIV_DIRECTVIV', -+ 'GST_GL_HAVE_PHYMEM', - - 'GST_GL_HAVE_GLEGLIMAGEOES', - 'GST_GL_HAVE_GLCHAR', -@@ -146,6 +148,18 @@ if unneeded_dep.found() - error ('Found unfindable dependency') - endif - -+if cc.has_header('linux/ion.h', include_directories : imx_includes) -+ glconf.set10('GST_GL_HAVE_IONDMA', 1) -+ gl_sources += [ -+ 'gstglmemorydma.c', -+ ] -+ gl_headers += [ -+ 'gstglmemorydma.h', -+ ] -+else -+ error('i.MX platform requires ION support to be enabled!') -+endif -+ - # OpenGL/GLES2 libraries - gl_lib_deps = [] - # GL platform - EGL, GLX, CGL, WGL, etc -@@ -501,6 +515,7 @@ if need_platform_egl != 'no' - glconf.set10('GST_GL_HAVE_DMABUF', 1) - endif - -+ - egl_includes = ''' - #include - #include -@@ -808,9 +823,14 @@ if need_platform_egl != 'no' and need_win_viv_fb != 'no' - enabled_gl_winsys += 'viv-fb' - glconf.set10('GST_GL_HAVE_WINDOW_VIV_FB', 1) - glconf.set10('GST_GL_HAVE_VIV_DIRECTVIV', 1) -+ glconf.set10('GST_GL_HAVE_PHYMEM', 1) - gl_sources += [ - 'viv-fb/gstgldisplay_viv_fb.c', - 'viv-fb/gstglwindow_viv_fb_egl.c', -+ 'gstglphymemory.c', -+ ] -+ gl_headers += [ -+ 'gstglphymemory.h', - ] - gl_cpp_args += ['-DEGL_API_FB'] - endif -diff --git a/gst-libs/gst/meson.build b/gst-libs/gst/meson.build -index cd3b5b043..1935f46e5 100644 ---- a/gst-libs/gst/meson.build -+++ b/gst-libs/gst/meson.build -@@ -11,3 +11,9 @@ subdir('app') - subdir('allocators') - # FIXME: gl deps are automagic - subdir('gl') -+ -+# Install dangling imx header, required by other plugins -+gst_imx_header = [ -+ 'gstimxcommon.h', -+] -+install_headers(gst_imx_header, subdir : 'gstreamer-1.0/') -diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build -index b4dfcdf65..d8531f199 100644 ---- a/gst-libs/gst/video/meson.build -+++ b/gst-libs/gst/video/meson.build -@@ -35,6 +35,11 @@ video_sources = [ - 'videooverlay.c', - ] - -+imx_video_sources = [ -+ 'gstvideohdr10meta.c', -+] -+video_sources += imx_video_sources -+ - video_headers = [ - 'colorbalance.h', - 'colorbalancechannel.h', -@@ -70,6 +75,12 @@ video_headers = [ - 'video-overlay-composition.h', - 'video-multiview.h', - ] -+ -+imx_video_headers = [ -+ 'gstvideohdr10meta.h', -+] -+video_headers += imx_video_headers -+ - install_headers(video_headers, subdir : 'gstreamer-1.0/gst/video/') - - video_mkenum_headers = [ -diff --git a/meson.build b/meson.build -index 2fca28205..7781934cd 100644 ---- a/meson.build -+++ b/meson.build -@@ -103,6 +103,9 @@ if glib_checks.disabled() or (glib_checks.auto() and not gst_version_is_dev) - add_project_arguments('-DG_DISABLE_CHECKS', language: 'c') - endif - -+# Define i.MX-specific include path as variable from options -+imx_includes = include_directories(get_option('extra_imx_incdir')) -+ - check_headers = [ - ['HAVE_DLFCN_H', 'dlfcn.h'], - ['HAVE_EMMINTRIN_H', 'emmintrin.h'], -diff --git a/meson_options.txt b/meson_options.txt -index e7af4dd45..d44401ca6 100644 ---- a/meson_options.txt -+++ b/meson_options.txt -@@ -85,3 +85,7 @@ option('package-name', type : 'string', yield : true, - description : 'package name to use in plugins') - option('package-origin', type : 'string', value : 'Unknown package origin', yield : true, - description : 'package origin URL to use in plugins') -+ -+# NXP specific options -+option('extra_imx_incdir', type : 'string', yield : true, description : 'i.MX specific header include path') -+ --- -2.17.1 - 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 @@ -From f82db8496df8ffb8352248e895258c19f8f4776b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= -Date: Thu, 17 Oct 2019 20:06:24 +0100 -Subject: [PATCH] meson: build gir even when cross-compiling if introspection - was enabled explicitly - -This can be made to work in certain circumstances when -cross-compiling, so default to not building g-i stuff -when cross-compiling, but allow it if introspection was -enabled explicitly via -Dintrospection=enabled. - -See gstreamer/gstreamer#454 and gstreamer/gstreamer#381. - -Upstream-Status: Backport [30672ba7d134553e59935ddc875104adba26f25c] - -Signed-off-by: Carlos Rafael Giani - ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index 2fca28205..2714af718 100644 ---- a/meson.build -+++ b/meson.build -@@ -355,7 +355,7 @@ endif - - gir = find_program('g-ir-scanner', required : get_option('introspection')) - gnome = import('gnome') --build_gir = gir.found() and not meson.is_cross_build() -+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled()) - gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \ - 'g_setenv("GST_REGISTRY_DISABLE", "yes", TRUE);' + \ - '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 @@ -From 8153e86dac04076fb80fc272c8374d4ba019fa3c Mon Sep 17 00:00:00 2001 -From: Zan Dobersek -Date: Wed, 4 Nov 2020 14:02:10 +0100 -Subject: [PATCH] meson: viv-fb code must link against libg2d - -Find the libg2d library and link against it, if necessary, avoiding -linking errors for couple of libg2d symbols. - -Upstream-Status: Pending - -Signed-off-by: Zan Dobersek ---- - gst-libs/gst/gl/meson.build | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build -index 6f6c6866d..fb6a9aabf 100644 ---- a/gst-libs/gst/gl/meson.build -+++ b/gst-libs/gst/gl/meson.build -@@ -818,9 +818,11 @@ if need_win_gbm != 'no' - endif - - if need_platform_egl != 'no' and need_win_viv_fb != 'no' -- if egl_dep.found() and cc.has_function ('fbGetDisplay', dependencies : egl_dep) -+ g2d_dep = cc.find_library('g2d', required : false) -+ if egl_dep.found() and g2d_dep.found() and cc.has_function ('fbGetDisplay', dependencies : egl_dep) - if cc.has_function ('glTexDirectVIV', dependencies : gles2_dep) - enabled_gl_winsys += 'viv-fb' -+ gl_winsys_deps += [g2d_dep] - glconf.set10('GST_GL_HAVE_WINDOW_VIV_FB', 1) - glconf.set10('GST_GL_HAVE_VIV_DIRECTVIV', 1) - glconf.set10('GST_GL_HAVE_PHYMEM', 1) -@@ -834,6 +836,8 @@ if need_platform_egl != 'no' and need_win_viv_fb != 'no' - ] - gl_cpp_args += ['-DEGL_API_FB'] - endif -+ else -+ g2d_dep = unneeded_dep - endif - endif - --- -2.28.0 - 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 @@ -From 7a21c86a3facfc7fe8285e764324839b2e55df8a Mon Sep 17 00:00:00 2001 -From: Thibault Saunier -Date: Mon, 22 Oct 2018 11:44:37 +0200 -Subject: [PATCH] meson: Add variables for gir files - -And flatten list of sources for dependencies - -Upstream-Status: Backport [685731e989dc074a4b0d48b6c8062e2738f09719] - -Signed-off-by: Carlos Rafael Giani - ---- - gst-libs/gst/allocators/meson.build | 5 +++-- - gst-libs/gst/app/meson.build | 6 ++++-- - gst-libs/gst/audio/meson.build | 5 +++-- - gst-libs/gst/pbutils/meson.build | 5 +++-- - gst-libs/gst/rtp/meson.build | 6 ++++-- - gst-libs/gst/rtsp/meson.build | 5 +++-- - gst-libs/gst/sdp/meson.build | 6 ++++-- - gst-libs/gst/tag/meson.build | 5 +++-- - gst-libs/gst/video/meson.build | 5 +++-- - 9 files changed, 30 insertions(+), 18 deletions(-) - -diff --git a/gst-libs/gst/allocators/meson.build b/gst-libs/gst/allocators/meson.build -index 364baeebf..56f156dc3 100644 ---- a/gst-libs/gst/allocators/meson.build -+++ b/gst-libs/gst/allocators/meson.build -@@ -22,7 +22,7 @@ gstallocators = library('gstallocators-@0@'.format(api_version), - allocators_gen_sources = [] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/allocators/allocators.h' ] -- allocators_gen_sources += [gnome.generate_gir(gstallocators, -+ allocators_gir = gnome.generate_gir(gstallocators, - sources : gst_allocators_sources + gst_allocators_headers, - namespace : 'GstAllocators', - nsversion : api_version, -@@ -33,7 +33,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : [gst_dep] -- )] -+ ) -+ allocators_gen_sources += allocators_gir - endif - - allocators_dep = declare_dependency(link_with: gstallocators, -diff --git a/gst-libs/gst/app/meson.build b/gst-libs/gst/app/meson.build -index 81dd0f42c..7a90f5e10 100644 ---- a/gst-libs/gst/app/meson.build -+++ b/gst-libs/gst/app/meson.build -@@ -32,7 +32,7 @@ gstapp = library('gstapp-@0@'.format(api_version), - - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/app/app.h' ] -- app_gen_sources += [gnome.generate_gir(gstapp, -+ app_gir = gnome.generate_gir(gstapp, - sources : app_sources + app_headers + [gstapp_c] + [gstapp_h], - namespace : 'GstApp', - nsversion : api_version, -@@ -43,7 +43,9 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : [gst_dep, gst_base_dep] -- )] -+ ) -+ -+ app_gen_sources += app_gir - endif - - app_dep = declare_dependency(link_with: gstapp, -diff --git a/gst-libs/gst/audio/meson.build b/gst-libs/gst/audio/meson.build -index 0e4efab2e..2a449d4bf 100644 ---- a/gst-libs/gst/audio/meson.build -+++ b/gst-libs/gst/audio/meson.build -@@ -153,7 +153,7 @@ gstaudio = library('gstaudio-@0@'.format(api_version), - - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/audio/audio.h' ] -- audio_gen_sources += [gnome.generate_gir(gstaudio, -+ audio_gir = gnome.generate_gir(gstaudio, - sources : audio_src + audio_headers + [gstaudio_c] + [gstaudio_h], - namespace : 'GstAudio', - nsversion : api_version, -@@ -164,7 +164,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstaudio_deps -- )] -+ ) -+ audio_gen_sources += [audio_gir] - endif - - audio_dep = declare_dependency(link_with : gstaudio, -diff --git a/gst-libs/gst/pbutils/meson.build b/gst-libs/gst/pbutils/meson.build -index 2faf62622..0e96722fd 100644 ---- a/gst-libs/gst/pbutils/meson.build -+++ b/gst-libs/gst/pbutils/meson.build -@@ -63,7 +63,7 @@ pbutils = library('gstpbutils-@0@'.format(api_version), - pbutils_gen_sources = [gstpbutils_h, gst_pbutils_version_h] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/pbutils/pbutils.h' ] -- pbutils_gen_sources += [gnome.generate_gir(pbutils, -+ pbutils_gir = gnome.generate_gir(pbutils, - sources : pbutils_sources + pbutils_headers + [gstpbutils_h, gst_pbutils_version_h], - namespace : 'GstPbutils', - nsversion : api_version, -@@ -74,7 +74,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstpbutils_deps -- )] -+ ) -+ pbutils_gen_sources += [pbutils_gir] - endif - - pbutils_dep = declare_dependency(link_with : pbutils, -diff --git a/gst-libs/gst/rtp/meson.build b/gst-libs/gst/rtp/meson.build -index f47ec6592..7ea6658d5 100644 ---- a/gst-libs/gst/rtp/meson.build -+++ b/gst-libs/gst/rtp/meson.build -@@ -49,7 +49,7 @@ gst_rtp = library('gstrtp-@0@'.format(api_version), - rtp_gen_sources = [gstrtp_enum_h] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtp/rtp.h' ] -- rtp_gen_sources += [gnome.generate_gir(gst_rtp, -+ rtp_gir = gnome.generate_gir(gst_rtp, - sources : rtp_sources + rtp_headers + [gstrtp_enum_c] + [gstrtp_enum_h], - namespace : 'GstRtp', - nsversion : api_version, -@@ -60,7 +60,9 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstrtp_deps -- )] -+ ) -+ -+ rtp_gen_sources += [rtp_gir] - endif - - -diff --git a/gst-libs/gst/rtsp/meson.build b/gst-libs/gst/rtsp/meson.build -index 27e309d5a..3632adceb 100644 ---- a/gst-libs/gst/rtsp/meson.build -+++ b/gst-libs/gst/rtsp/meson.build -@@ -54,7 +54,7 @@ gst_rtsp = library('gstrtsp-@0@'.format(api_version), - rtsp_gen_sources = [gstrtsp_h] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/rtsp/rtsp.h' ] -- rtsp_gen_sources += [gnome.generate_gir(gst_rtsp, -+ rtsp_gir = gnome.generate_gir(gst_rtsp, - sources : rtsp_sources + rtsp_headers + [gstrtsp_c] + [gstrtsp_h], - namespace : 'GstRtsp', - nsversion : api_version, -@@ -65,7 +65,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstrtsp_deps + [sdp_dep] -- )] -+ ) -+ rtsp_gen_sources += [rtsp_gir] - endif - - rtsp_dep = declare_dependency(link_with : gst_rtsp, -diff --git a/gst-libs/gst/sdp/meson.build b/gst-libs/gst/sdp/meson.build -index 62c18b732..24cdb5293 100644 ---- a/gst-libs/gst/sdp/meson.build -+++ b/gst-libs/gst/sdp/meson.build -@@ -23,7 +23,7 @@ gstsdp = library('gstsdp-@0@'.format(api_version), - sdp_gen_sources = [] - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/sdp/sdp.h' ] -- sdp_gen_sources += [gnome.generate_gir(gstsdp, -+ sdp_gir = gnome.generate_gir(gstsdp, - sources : gst_sdp_sources + gst_sdp_headers, - namespace : 'GstSdp', - nsversion : api_version, -@@ -34,7 +34,9 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : rtsp_deps -- )] -+ ) -+ -+ sdp_gen_sources += [sdp_gir] - endif - - sdp_dep = declare_dependency(link_with: gstsdp, -diff --git a/gst-libs/gst/tag/meson.build b/gst-libs/gst/tag/meson.build -index 27e66fd63..5ec37392a 100644 ---- a/gst-libs/gst/tag/meson.build -+++ b/gst-libs/gst/tag/meson.build -@@ -93,7 +93,7 @@ gsttag = library('gsttag-@0@'.format(api_version), - - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/tag/tag.h' ] -- tag_gen_sources += [gnome.generate_gir(gsttag, -+ tag_gir = gnome.generate_gir(gsttag, - sources : tag_sources + tag_headers + [gsttag_h] + [gsttag_c], - namespace : 'GstTag', - nsversion : api_version, -@@ -104,7 +104,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : tag_deps -- )] -+ ) -+ tag_gen_sources += [tag_gir] - endif - - tag_dep = declare_dependency(link_with: gsttag, -diff --git a/gst-libs/gst/video/meson.build b/gst-libs/gst/video/meson.build -index b4dfcdf65..036c3a6a7 100644 ---- a/gst-libs/gst/video/meson.build -+++ b/gst-libs/gst/video/meson.build -@@ -135,7 +135,7 @@ gstvideo = library('gstvideo-@0@'.format(api_version), - - if build_gir - gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ] -- video_gen_sources += [gnome.generate_gir(gstvideo, -+ video_gir = gnome.generate_gir(gstvideo, - sources : video_sources + video_headers + [gstvideo_c] + [gstvideo_h], - namespace : 'GstVideo', - nsversion : api_version, -@@ -146,7 +146,8 @@ if build_gir - install : true, - extra_args : gst_gir_extra_args, - dependencies : gstvideo_deps -- )] -+ ) -+ video_gen_sources += [video_gir] - endif - - video_dep = declare_dependency(link_with : gstvideo, diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-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 new file mode 100644 index 00000000..b8fc8827 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch @@ -0,0 +1,30 @@ +From 70a702af3a3a4afcadbc53d61c4c45f31f96b2cc Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani +Date: Tue, 21 May 2019 14:01:11 +0200 +Subject: [PATCH] viv-fb: Make sure config.h is included + +This prevents build errors due to missing GST_API_* symbols + +Upstream-Status: Pending + +Signed-off-by: Carlos Rafael Giani + +--- + gst-libs/gst/gl/gl-prelude.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h +index 05e1f6229..96ce5e685 100644 +--- a/gst-libs/gst/gl/gl-prelude.h ++++ b/gst-libs/gst/gl/gl-prelude.h +@@ -22,6 +22,10 @@ + #ifndef __GST_GL_PRELUDE_H__ + #define __GST_GL_PRELUDE_H__ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ + #include + + #ifdef BUILDING_GST_GL diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch new file mode 100644 index 00000000..94a61465 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-glimagesink-Downrank-to-marginal.patch @@ -0,0 +1,30 @@ +From b975be9c4630536ec1315773be29900371d21930 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin +Date: Thu, 24 Sep 2015 19:47:32 +0300 +Subject: [PATCH] glimagesink: Downrank to marginal + +On desktop, where there is good OpenGL, xvimagesink will come up first, +on other platforms, OpenGL can't be trusted because it's either software (like +in a VM) or broken (like on embedded)., so let ximagesink come above. + +Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=751684] + +Signed-off-by: Alexander Kanavin + +--- + ext/gl/gstopengl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c +index 302e8452c..463be9cd8 100644 +--- a/ext/gl/gstopengl.c ++++ b/ext/gl/gstopengl.c +@@ -127,7 +127,7 @@ plugin_init (GstPlugin * plugin) + #endif + + if (!gst_element_register (plugin, "glimagesink", +- GST_RANK_SECONDARY, gst_gl_image_sink_bin_get_type ())) { ++ GST_RANK_MARGINAL, gst_gl_image_sink_bin_get_type ())) { + return FALSE; + } + 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 deleted file mode 100644 index 731ba873..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 616cf194dfd26818ed7b776321582b8e0ff9b3f1 Mon Sep 17 00:00:00 2001 -From: Carlos Rafael Giani -Date: Tue, 21 May 2019 14:01:11 +0200 -Subject: [PATCH] viv-fb: Make sure config.h is included - -This prevents build errors due to missing GST_API_* symbols - -Upstream-Status: Pending - -Signed-off-by: Carlos Rafael Giani - ---- - gst-libs/gst/gl/gl-prelude.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h -index 05e1f6229..96ce5e685 100644 ---- a/gst-libs/gst/gl/gl-prelude.h -+++ b/gst-libs/gst/gl/gl-prelude.h -@@ -22,6 +22,10 @@ - #ifndef __GST_GL_PRELUDE_H__ - #define __GST_GL_PRELUDE_H__ - -+#ifdef HAVE_CONFIG_H -+#include "config.h" -+#endif -+ - #include - - #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 deleted file mode 100644 index fc67a486..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f18f1206ec44f4154e60546ecb82823f7a6569d7 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 24 Sep 2015 19:47:32 +0300 -Subject: [PATCH] glimagesink: Downrank to marginal - -On desktop, where there is good OpenGL, xvimagesink will come up first, -on other platforms, OpenGL can't be trusted because it's either software (like -in a VM) or broken (like on embedded)., so let ximagesink come above. - -Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=751684] - -Signed-off-by: Alexander Kanavin - ---- - ext/gl/gstopengl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c -index 302e8452c..463be9cd8 100644 ---- a/ext/gl/gstopengl.c -+++ b/ext/gl/gstopengl.c -@@ -127,7 +127,7 @@ plugin_init (GstPlugin * plugin) - #endif - - if (!gst_element_register (plugin, "glimagesink", -- GST_RANK_SECONDARY, gst_gl_image_sink_bin_get_type ())) { -+ GST_RANK_MARGINAL, gst_gl_image_sink_bin_get_type ())) { - return FALSE; - } - 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 @@ +From 1718197bf6ebf3d8784a55126609aa8770fff682 Mon Sep 17 00:00:00 2001 +From: Xavier Claessens +Date: Mon, 26 Apr 2021 14:25:03 -0400 +Subject: [PATCH] gstgl: Fix build when Meson >= 0.58.0rc1 + +"implicit_include_directories: false" now also means that current build +directory is not added to include paths by default any more. We have to +add it manually because we have some custom_target() that generate +headers in current build directory. + +See https://github.com/mesonbuild/meson/issues/8700. + +Part-of: +Upstream-Status: Backport +Signed-off-by: Alexander Kanavin + +--- + gst-libs/gst/gl/meson.build | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build +index ae19d7aca..3ad7ddcf6 100644 +--- a/gst-libs/gst/gl/meson.build ++++ b/gst-libs/gst/gl/meson.build +@@ -1023,11 +1023,20 @@ if build_gstgl + command : [mkenums, glib_mkenums, '@OUTPUT@', '@INPUT@']) + gen_sources = [gl_enumtypes_h] + ++ common_args = gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'] ++ ++ # We have custom_target() that generate headers in the current build dir, ++ # but with implicit_include_directories: false, meson >= 0.58.0 won't include ++ # it by default. We cannot use include_directories('.') here because it would ++ # also include current source dir which is what we want to avoid because ++ # case-insensitive FS would include gst-libs/gl/egl/egl.h as EGL/egl.h. ++ common_args += '-I@0@'.format(meson.current_build_dir()) ++ + gstgl = library('gstgl-' + api_version, + gl_sources, gl_egl_sources, gl_x11_sources, gl_wayland_sources, gl_priv_sources, gl_enumtypes_c, gl_enumtypes_h, +- c_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'], +- cpp_args : gst_plugins_base_args + gl_cpp_args + ['-DBUILDING_GST_GL'], +- objc_args : gst_plugins_base_args + gl_cpp_args + gl_objc_args + ['-DBUILDING_GST_GL'], ++ c_args : common_args, ++ cpp_args : common_args, ++ objc_args : common_args + gl_objc_args, + include_directories : [configinc, libsinc, gl_includes], + version : libversion, + 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.16.2.imx.bb deleted file mode 100644 index ccc8e815..00000000 --- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.2.imx.bb +++ /dev/null @@ -1,102 +0,0 @@ -require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc - -LICENSE = "GPLv2+ & LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ - file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607" - -GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https" -SRCBRANCH = "MM_04.05.06_2008_L5.4.47" -SRCREV = "3c4aa2a58576d68f6e684efa58609665679c9969" -SRC_URI = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \ - file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \ - file://0001-gstreamer-plugins-base-fix-meson-build-in-nxp-fork.patch \ - file://0002-meson-Add-variables-for-gir-files.patch \ - file://0005-viv-fb-Make-sure-config.h-is-included.patch \ - file://0009-glimagesink-Downrank-to-marginal.patch \ - file://0001-gst-libs-gst-gl-wayland-fix-meson-build.patch \ - file://0001-meson-viv-fb-code-must-link-against-libg2d.patch \ - " - -S = "${WORKDIR}/git" - -DEPENDS += "iso-codes util-linux zlib" -DEPENDS:append:imxgpu2d = " virtual/libg2d" - -inherit use-imx-headers gobject-introspection gtk-doc - -DEFAULT_PREFERENCE = "-1" - -PACKAGES_DYNAMIC =+ "^libgst.*" - -# opengl packageconfig factored out to make it easy for distros -# and BSP layers to choose OpenGL APIs/platforms/window systems -PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" - -PACKAGECONFIG ??= " \ - ${GSTREAMER_ORC} \ - ${PACKAGECONFIG_GL} \ - ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \ - ogg pango png theora vorbis \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ -" - -OPENGL_APIS = 'opengl gles2' -OPENGL_PLATFORMS = 'egl' -OPENGL_WINSYS = 'x11 wayland gbm viv-fb' - -X11DEPENDS = "virtual/libx11 libsm libxrender libxv" -X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled" -X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled" - -PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" -PACKAGECONFIG[cdparanoia] = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia" -PACKAGECONFIG[jpeg] = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg" -PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg" -PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus" -PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango" -PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng" -PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora" -PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor" -PACKAGECONFIG[visual] = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual" -PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis" -PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" - -# OpenGL API packageconfigs -PACKAGECONFIG[opengl] = ",,virtual/libgl libglu" -PACKAGECONFIG[gles2] = ",,virtual/libgles2" - -# OpenGL platform packageconfigs -PACKAGECONFIG[egl] = ",,virtual/egl" - -# OpenGL window systems (except for X11) -PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm" -PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm" -PACKAGECONFIG[viv-fb] = ",,virtual/libgles2 virtual/libg2d" - -EXTRA_OEMESON += " \ - -Dgl-graphene=disabled \ - ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \ - ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \ - ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \ - -Dextra_imx_incdir=${STAGING_INCDIR_IMX} \ -" - -GTKDOC_MESON_OPTION = "gtk_doc" -GTKDOC_MESON_ENABLE_FLAG = "enabled" -GTKDOC_MESON_DISABLE_FLAG = "disabled" - -FILES:${PN} += "${libdir}/gstreamer-1.0/include" -FILES:${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict" - -COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" - -def get_opengl_cmdline_list(switch_name, options, d): - selected_options = [] - if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d): - for option in options.split(): - if bb.utils.contains('PACKAGECONFIG', option, True, False, d): - selected_options += [option] - if selected_options: - return '-D' + switch_name + '=' + ','.join(selected_options) - else: - return '' diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb new file mode 100644 index 00000000..142e0ba5 --- /dev/null +++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.0.imx.bb @@ -0,0 +1,102 @@ +require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc + +DESCRIPTION = "'Base' GStreamer plugins and helper libraries" +HOMEPAGE = "https://gstreamer.freedesktop.org/" +BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues" +LICENSE = "GPLv2+ & LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d" + +GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https" +SRCBRANCH = "MM_04.06.01_2105_L5.10.y" +SRC_URI = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} \ + file://0003-viv-fb-Make-sure-config.h-is-included.patch \ + file://0004-glimagesink-Downrank-to-marginal.patch \ + file://4ef5c91697a141fea7317aff7f0f28e5a861db99.patch \ + " +SRCREV = "69554a26c932481acb7c5691038c367eca60e5bc" + +S = "${WORKDIR}/git" + +DEPENDS += "iso-codes util-linux zlib" +DEPENDS:append:imxgpu2d = " virtual/libg2d" + +inherit gobject-introspection use-imx-headers + +DEFAULT_PREFERENCE = "-1" + +PACKAGES_DYNAMIC =+ "^libgst.*" + +# opengl packageconfig factored out to make it easy for distros +# and BSP layers to choose OpenGL APIs/platforms/window systems +PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}" + +PACKAGECONFIG ??= " \ + ${GSTREAMER_ORC} \ + ${PACKAGECONFIG_GL} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa x11', d)} \ + jpeg ogg pango png theora vorbis \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland egl', '', d)} \ +" + +OPENGL_APIS = 'opengl gles2' +OPENGL_PLATFORMS = 'egl' +OPENGL_WINSYS = 'x11 wayland gbm viv-fb' + +X11DEPENDS = "virtual/libx11 libsm libxrender libxv" +X11ENABLEOPTS = "-Dx11=enabled -Dxvideo=enabled -Dxshm=enabled" +X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled" + +PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" +PACKAGECONFIG[cdparanoia] = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia" +PACKAGECONFIG[jpeg] = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg" +PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg" +PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus" +PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango" +PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng" +PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora" +PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor" +PACKAGECONFIG[visual] = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual" +PACKAGECONFIG[vorbis] = "-Dvorbis=enabled,-Dvorbis=disabled,libvorbis" +PACKAGECONFIG[x11] = "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}" + +# OpenGL API packageconfigs +PACKAGECONFIG[opengl] = ",,virtual/libgl libglu" +PACKAGECONFIG[gles2] = ",,virtual/libgles2" + +# OpenGL platform packageconfigs +PACKAGECONFIG[egl] = ",,virtual/egl" + +# OpenGL window systems (except for X11) +PACKAGECONFIG[gbm] = ",,virtual/libgbm libgudev libdrm" +PACKAGECONFIG[wayland] = ",,wayland-native wayland wayland-protocols libdrm" +PACKAGECONFIG[dispmanx] = ",,virtual/libomxil" +PACKAGECONFIG[viv-fb] = ",,virtual/libgles2 virtual/libg2d" + +OPENGL_WINSYS = "${@bb.utils.filter('PACKAGECONFIG', 'x11 gbm wayland dispmanx egl viv-fb', d)}" + +EXTRA_OEMESON += " \ + -Ddoc=disabled \ + -Dgl-graphene=disabled \ + ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \ + ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \ + ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \ + -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ +" + +FILES:${PN}-dev += "${libdir}/gstreamer-1.0/include/gst/gl/gstglconfig.h" +FILES:${MLPREFIX}libgsttag-1.0 += "${datadir}/gst-plugins-base/1.0/license-translations.dict" + +def get_opengl_cmdline_list(switch_name, options, d): + selected_options = [] + if bb.utils.contains('DISTRO_FEATURES', 'opengl', True, False, d): + for option in options.split(): + if bb.utils.contains('PACKAGECONFIG', option, True, False, d): + selected_options += [option] + if selected_options: + return '-D' + switch_name + '=' + ','.join(selected_options) + else: + return '' + +CVE_PRODUCT += "gst-plugins-base" + +COMPATIBLE_MACHINE = "(mx6|mx7|mx8)" -- cgit v1.2.3-54-g00ecf