summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>2020-02-22 14:33:25 +0000
committerOtavio Salvador <otavio@ossystems.com.br>2020-03-03 18:26:17 -0300
commit6802b457723b8aaa0fda20f608a34d7bc220942d (patch)
tree74e3bd6bfbef3060a0dc5a43d0dd542505f0f099
parent723deb35baae17006fc029e15ddf6ff55357b580 (diff)
downloadmeta-freescale-6802b457723b8aaa0fda20f608a34d7bc220942d.tar.gz
gstreamer1.0-plugins-bad: Transition to meson based builds
This update follows [427eb30f9b59972b38ae3f25094470bb7034547d] in upstream, which trasnitions the gstreamer1.0 plugins build from autotools to meson build. Additional patches included in meta-freescale are: - Backport of 2 patches to allow using OpenCV version 4.1.0 - Adaptions required in NXP fork to use meson - One patch which solves the data dir search on OpenCV. Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch60
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch36
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-fix-build-with-opencv-enabled-and-opencv4.-Fix.patch45
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-opencv-allow-compilation-against-4.1.x.patch43
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch61
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch49
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb246
7 files changed, 357 insertions, 183 deletions
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch
new file mode 100644
index 00000000..088976d8
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-ext-wayland-fix-meson-build-in-nxp-fork.patch
@@ -0,0 +1,60 @@
1From e637d9f6bb961afcecb74faa6dff38562f6ce796 Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
3Date: Sun, 26 Jan 2020 10:45:28 +0000
4Subject: [PATCH] ext/wayland: fix meson build in nxp fork
5
6- Add Wayland protocols, which are not enabled in upstream
7- Add missing compilation unit, which in NXP-specific
8
9Upstream-Status: Pending
10
11Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
12---
13 ext/wayland/meson.build | 24 ++++++++++++++++++++++++
14 1 file changed, 24 insertions(+)
15
16diff --git a/ext/wayland/meson.build b/ext/wayland/meson.build
17index fa6fbf42f..eb425b14f 100644
18--- a/ext/wayland/meson.build
19+++ b/ext/wayland/meson.build
20@@ -8,6 +8,11 @@ wl_sources = [
21 'wllinuxdmabuf.c'
22 ]
23
24+imx_wl_sources = [
25+ 'wlutils.c',
26+]
27+wl_sources += imx_wl_sources
28+
29 if use_wayland
30 protocols_datadir = wl_protocol_dep.get_pkgconfig_variable('pkgdatadir')
31
32@@ -19,6 +24,25 @@ if use_wayland
33 'fullscreen-shell-unstable-v1-protocol.c', 'fullscreen-shell-unstable-v1-client-protocol.h'],
34 ['/stable/xdg-shell/xdg-shell.xml', 'xdg-shell-protocol.c', 'xdg-shell-client-protocol.h'],
35 ]
36+
37+ imx_protocol_defs = [
38+ [
39+ '/unstable/alpha-compositing/alpha-compositing-unstable-v1.xml',
40+ 'alpha-compositing-unstable-v1-protocol.c',
41+ 'alpha-compositing-unstable-v1-client-protocol.h'
42+ ],
43+ ['/unstable/hdr10-metadata/hdr10-metadata-unstable-v1.xml',
44+ 'hdr10-metadata-unstable-v1-protocol.c',
45+ 'hdr10-metadata-unstable-v1-client-protocol.h'
46+ ],
47+ [
48+ '/unstable/linux-explicit-synchronization/linux-explicit-synchronization-unstable-v1.xml',
49+ 'linux-explicit-synchronization-unstable-v1-protocol.c',
50+ 'linux-explicit-synchronization-unstable-v1-client-protocol.h'
51+ ],
52+ ]
53+ protocol_defs += imx_protocol_defs
54+
55 protocols_files = []
56
57 foreach protodef: protocol_defs
58--
592.17.1
60
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
new file mode 100644
index 00000000..13218520
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch
@@ -0,0 +1,36 @@
1From 97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
3Date: Fri, 18 Oct 2019 00:39:12 +0100
4Subject: [PATCH 1/2] meson: build gir even when cross-compiling if
5 introspection 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 [97a4d0cd7de8cfbf983acc7e37ba2f8fb73c3e19]
15
16Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
17---
18 meson.build | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/meson.build b/meson.build
22index 67aeeb4d0..7b3314bd9 100644
23--- a/meson.build
24+++ b/meson.build
25@@ -411,7 +411,7 @@ python3 = import('python').find_installation()
26
27 gir = find_program('g-ir-scanner', required : get_option('introspection'))
28 gnome = import('gnome')
29-build_gir = gir.found() and not meson.is_cross_build()
30+build_gir = gir.found() and (not meson.is_cross_build() or get_option('introspection').enabled())
31 gir_init_section = [ '--add-init-section=extern void gst_init(gint*,gchar**);' + \
32 'g_setenv("GST_REGISTRY_1.0", "@0@", TRUE);'.format(meson.current_build_dir() + '/gir_empty_registry.reg') + \
33 'g_setenv("GST_PLUGIN_PATH_1_0", "", TRUE);' + \
34--
352.17.1
36
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-fix-build-with-opencv-enabled-and-opencv4.-Fix.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-fix-build-with-opencv-enabled-and-opencv4.-Fix.patch
new file mode 100644
index 00000000..874b8abc
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-meson-fix-build-with-opencv-enabled-and-opencv4.-Fix.patch
@@ -0,0 +1,45 @@
1From f41f356aebee916910453031c06c111000f2f261 Mon Sep 17 00:00:00 2001
2From: Christoph Reiter <reiter.christoph@gmail.com>
3Date: Sun, 5 May 2019 22:11:16 +0200
4Subject: [PATCH] meson: fix build with opencv=enabled and opencv4. Fixes #964
5
6Having the opencv feature enabled would lead to the opencv3 dependency
7being required which failed with only opencv4 being available.
8
9Instead don't require anything and error out at the end if the feature was enabled
10but no dependency was found.
11
12Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/22c6a4085f8792d8af0cdabfe1664d55ca2dee11]
13
14(cherry picked from commit 22c6a4085f8792d8af0cdabfe1664d55ca2dee11)
15Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
16---
17 gst-libs/gst/opencv/meson.build | 6 ++++--
18 1 file changed, 4 insertions(+), 2 deletions(-)
19
20diff --git a/gst-libs/gst/opencv/meson.build b/gst-libs/gst/opencv/meson.build
21index 3fd472fda..8dc2ad99b 100644
22--- a/gst-libs/gst/opencv/meson.build
23+++ b/gst-libs/gst/opencv/meson.build
24@@ -9,9 +9,9 @@ opencv_headers = [
25 'gstopencvvideofilter.h',
26 ]
27
28-opencv_dep = dependency('opencv', version : '>= 3.0.0', required : get_option('opencv'))
29+opencv_dep = dependency('opencv', version : '>= 3.0.0', required : false)
30 if not opencv_dep.found()
31- opencv_dep = dependency('opencv4', version : '>= 4.0.0', required : get_option('opencv'))
32+ opencv_dep = dependency('opencv4', version : '>= 4.0.0', required : false)
33 endif
34 if opencv_dep.found()
35 gstopencv = library('gstopencv-' + api_version,
36@@ -30,4 +30,6 @@ if opencv_dep.found()
37 dependencies : [gstvideo_dep, opencv_dep])
38
39 install_headers(opencv_headers, subdir : 'gstreamer-1.0/gst/opencv')
40+elif get_option('opencv').enabled()
41+ error('OpenCV support enabled but required dependencies were not found.')
42 endif
43--
442.17.1
45
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-opencv-allow-compilation-against-4.1.x.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-opencv-allow-compilation-against-4.1.x.patch
new file mode 100644
index 00000000..62705dd4
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-opencv-allow-compilation-against-4.1.x.patch
@@ -0,0 +1,43 @@
1From eb404fd917fa3ab7ffa9433c9975ee49cfc9c41f Mon Sep 17 00:00:00 2001
2From: Nicola Murino <nicola.murino@gmail.com>
3Date: Tue, 23 Apr 2019 09:06:13 +0200
4Subject: [PATCH 1/2] opencv: allow compilation against 4.1.x
5
6Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/commit/49a2baebf58d9288f75964fc40a547fde510a840]
7
8(cherry picked from commit 49a2baebf58d9288f75964fc40a547fde510a840)
9Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
10---
11 configure.ac | 2 +-
12 ext/opencv/meson.build | 2 +-
13 2 files changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/configure.ac b/configure.ac
16index 26f72eb0d..9e12d39a0 100644
17--- a/configure.ac
18+++ b/configure.ac
19@@ -1852,7 +1852,7 @@ AG_GST_CHECK_FEATURE(OPENCV, [opencv plugins], opencv, [
20 HAVE_OPENCV="yes"
21 fi
22 ], [
23- PKG_CHECK_MODULES([OPENCV], [opencv4 >= 4.0.0 opencv4 < 4.1.0] , [
24+ PKG_CHECK_MODULES([OPENCV], [opencv4 >= 4.0.0 opencv4 < 4.2.0] , [
25 AC_PROG_CXX
26 AC_LANG([C++])
27 OLD_CPPFLAGS=$CPPFLAGS
28diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
29index d0ce1d3ee..f38b55dfe 100644
30--- a/ext/opencv/meson.build
31+++ b/ext/opencv/meson.build
32@@ -65,7 +65,7 @@ if opencv_found
33 endif
34 endforeach
35 else
36- opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.1.0'], required : false)
37+ opencv_dep = dependency('opencv4', version : ['>= 4.0.0', '< 4.2.0'], required : false)
38 opencv_found = opencv_dep.found()
39 if opencv_found
40 foreach h : libopencv4_headers
41--
422.17.1
43
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch
deleted file mode 100644
index 25861b6b..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch
+++ /dev/null
@@ -1,61 +0,0 @@
1From f59c5269f92d59a5296cbfeeb682d42095cd88ad Mon Sep 17 00:00:00 2001
2From: Wenzong Fan <wenzong.fan@windriver.com>
3Date: Thu, 18 Sep 2014 02:24:07 -0400
4Subject: [PATCH] gstreamer1.0-plugins-bad: allow to disable libssh2
5
6libssh2 is automatically linked to if present, this undetermined
7dependency may cause build errors like:
8
9 .../x86_64-poky-linux/4.9.0/ld: cannot find -lssh2
10
11libssh2 isn't an oe-core recipe, so allow to disable it from
12configure.
13
14Upstream-Status: Pending
15
16Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
17---
18 configure.ac | 23 +++++++++++++++++------
19 1 file changed, 17 insertions(+), 6 deletions(-)
20
21Index: gst-plugins-bad-1.12.3/configure.ac
22===================================================================
23--- gst-plugins-bad-1.12.3.orig/configure.ac
24+++ gst-plugins-bad-1.12.3/configure.ac
25@@ -1202,6 +1202,15 @@ AG_GST_CHECK_FEATURE(CHROMAPRINT, [chrom
26 ])
27
28 dnl *** Curl ***
29+AC_ARG_ENABLE([libssh2],
30+ [ --enable-libssh2 enable LIBSSH2 support @<:@default=auto@:>@],
31+ [case "${enableval}" in
32+ yes) NEED_SSH2=yes ;;
33+ no) NEED_SSH2=no ;;
34+ auto) NEED_SSH2=auto ;;
35+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-libssh2]) ;;
36+ esac],[NEED_SSH2=auto])
37+
38 translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true)
39 AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [
40 PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [
41@@ -1224,12 +1233,14 @@ AG_GST_CHECK_FEATURE(CURL, [Curl plugin]
42 ])
43 AC_SUBST(CURL_CFLAGS)
44 AC_SUBST(CURL_LIBS)
45- PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
46- HAVE_SSH2="yes"
47- AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
48- ], [
49- HAVE_SSH2="no"
50- ])
51+ if test "x$NEED_SSH2" != "xno"; then
52+ PKG_CHECK_MODULES(SSH2, libssh2 >= 1.4.3, [
53+ HAVE_SSH2="yes"
54+ AC_DEFINE(HAVE_SSH2, 1, [Define if libssh2 is available])
55+ ], [
56+ HAVE_SSH2="no"
57+ ])
58+ fi
59 AM_CONDITIONAL(USE_SSH2, test "x$HAVE_SSH2" = "xyes")
60 AC_SUBST(SSH2_CFLAGS)
61 AC_SUBST(SSH2_LIBS)
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
new file mode 100644
index 00000000..3fe3f649
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
@@ -0,0 +1,49 @@
1From 5830de9b1c8965683025082aeed7ccaf1dd85969 Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
3Date: Sun, 26 Jan 2020 19:55:06 +0000
4Subject: [PATCH 2/2] opencv: resolve missing opencv data dir in yocto build
5
6When Yocto build is performed, opencv searches for data dir using simple
7test command, and this fails because pkg-config provides an absolute
8path on the target which needs to be prepended by PKG_CONFIG_SYSROOT_DIR
9in order for the 'test' utility to pick up the absolute path.
10
11Upstream-Status: Inappropriate [OE-specific]
12
13Signed-off-by: Andrey Zhizhikin <andrey.zhizhikin@leica-geosystems.com>
14---
15 ext/opencv/meson.build | 7 ++++---
16 1 file changed, 4 insertions(+), 3 deletions(-)
17
18diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
19index f38b55dfe..a26403482 100644
20--- a/ext/opencv/meson.build
21+++ b/ext/opencv/meson.build
22@@ -78,20 +78,21 @@ else
23 endif
24
25 if opencv_found
26+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
27 opencv_prefix = opencv_dep.get_pkgconfig_variable('prefix')
28 gstopencv_cargs += ['-DOPENCV_PREFIX="' + opencv_prefix + '"']
29
30 # Check the data dir used by opencv for its xml data files
31 # Use prefix from pkg-config to be compatible with cross-compilation
32- r = run_command('test', '-d', opencv_prefix + '/share/opencv')
33+ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/opencv')
34 if r.returncode() == 0
35 gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv"'
36 else
37- r = run_command('test', '-d', opencv_prefix + '/share/OpenCV')
38+ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/OpenCV')
39 if r.returncode() == 0
40 gstopencv_cargs += '-DOPENCV_PATH_NAME="OpenCV"'
41 else
42- r = run_command('test', '-d', opencv_prefix + '/share/opencv4')
43+ r = run_command('test', '-d', pkgconf_sysroot + opencv_prefix + '/share/opencv4')
44 if r.returncode() == 0
45 gstopencv_cargs += '-DOPENCV_PATH_NAME="opencv4"'
46 else
47--
482.17.1
49
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb
index f18a70d1..b9ac08c2 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.imx.bb
@@ -1,8 +1,5 @@
1require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc 1require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
2 2
3LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
4 file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 "
5
6DEPENDS_append_imxgpu2d = " virtual/libg2d" 3DEPENDS_append_imxgpu2d = " virtual/libg2d"
7DEPENDS_append_mx8 = " libdrm" 4DEPENDS_append_mx8 = " libdrm"
8 5
@@ -10,39 +7,36 @@ PACKAGECONFIG_append_mx6q = " opencv"
10PACKAGECONFIG_append_mx6qp = " opencv" 7PACKAGECONFIG_append_mx6qp = " opencv"
11PACKAGECONFIG_append_mx8 = " opencv kms" 8PACKAGECONFIG_append_mx8 = " opencv kms"
12 9
10DEFAULT_PREFERENCE = "-1"
11
12PACKAGE_ARCH_imxpxp = "${MACHINE_SOCARCH}"
13PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}"
14
13GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https" 15GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https"
14SRCBRANCH = "MM_04.05.01_1909_L4.19.35" 16SRCBRANCH = "MM_04.05.01_1909_L4.19.35"
15 17
16SRC_URI = " \ 18SRC_URI = " \
17 ${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} \ 19 ${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} \
18 file://configure-allow-to-disable-libssh2.patch \ 20 file://0001-ext-wayland-fix-meson-build-in-nxp-fork.patch \
21 file://0001-meson-build-gir-even-when-cross-compiling-if-introsp.patch \
22 file://0001-meson-fix-build-with-opencv-enabled-and-opencv4.-Fix.patch \
23 file://0002-opencv-allow-compilation-against-4.1.x.patch \
24 file://opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
19 file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \ 25 file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \
20 file://avoid-including-sys-poll.h-directly.patch \ 26 file://avoid-including-sys-poll.h-directly.patch \
21 file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \ 27 file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \
22 file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
23" 28"
24
25SRCREV = "eba3db4034fc17b712808d5e90ed5ff22ef490ca" 29SRCREV = "eba3db4034fc17b712808d5e90ed5ff22ef490ca"
26 30
27DEFAULT_PREFERENCE = "-1"
28
29# This remove "--exclude=autopoint" option from autoreconf argument to avoid
30# configure.ac:30: error: required file './ABOUT-NLS' not found
31EXTRA_AUTORECONF = ""
32
33# include fragment shaders
34FILES_${PN}-opengl += "/usr/share/*.fs"
35
36PACKAGE_ARCH_imxpxp = "${MACHINE_SOCARCH}"
37PACKAGE_ARCH_mx8 = "${MACHINE_SOCARCH}"
38
39S = "${WORKDIR}/git" 31S = "${WORKDIR}/git"
40 32
41LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+" 33LICENSE = "GPLv2+ & LGPLv2+ & LGPLv2.1+"
34LIC_FILES_CHKSUM = "file://COPYING;md5=73a5855a8119deb017f5f13cf327095d \
35 file://COPYING.LIB;md5=21682e4e8fea52413fd26c60acb907e5 "
42 36
43DEPENDS += "gstreamer1.0-plugins-base jpeg" 37DEPENDS += "gstreamer1.0-plugins-base"
44 38
45inherit gettext 39inherit gobject-introspection
46 40
47PACKAGECONFIG ??= " \ 41PACKAGECONFIG ??= " \
48 ${GSTREAMER_ORC} \ 42 ${GSTREAMER_ORC} \
@@ -50,121 +44,129 @@ PACKAGECONFIG ??= " \
50 ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \ 44 ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \
51 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ 45 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
52 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \ 46 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
53 bz2 curl dash dtls hls rsvg sbc smoothstreaming sndfile ttml uvch264 webp \ 47 bz2 closedcaption curl dash dtls hls rsvg sbc smoothstreaming sndfile \
48 ttml uvch264 webp \
54" 49"
55 50
51PACKAGECONFIG[assrender] = "-Dassrender=enabled,-Dassrender=disabled,libass"
52PACKAGECONFIG[bluez] = "-Dbluez=enabled,-Dbluez=disabled,bluez5"
53PACKAGECONFIG[bz2] = "-Dbz2=enabled,-Dbz2=disabled,bzip2"
54PACKAGECONFIG[closedcaption] = "-Dclosedcaption=enabled,-Dclosedcaption=disabled,pango cairo"
55PACKAGECONFIG[curl] = "-Dcurl=enabled,-Dcurl=disabled,curl"
56PACKAGECONFIG[dash] = "-Ddash=enabled,-Ddash=disabled,libxml2"
57PACKAGECONFIG[dc1394] = "-Ddc1394=enabled,-Ddc1394=disabled,libdc1394"
58PACKAGECONFIG[directfb] = "-Ddirectfb=enabled,-Ddirectfb=disabled,directfb"
59PACKAGECONFIG[dtls] = "-Ddtls=enabled,-Ddtls=disabled,openssl"
60PACKAGECONFIG[faac] = "-Dfaac=enabled,-Dfaac=disabled,faac"
61PACKAGECONFIG[faad] = "-Dfaad=enabled,-Dfaad=disabled,faad2"
62PACKAGECONFIG[fluidsynth] = "-Dfluidsynth=enabled,-Dfluidsynth=disabled,fluidsynth"
63PACKAGECONFIG[hls] = "-Dhls=enabled -Dhls-crypto=nettle,-Dhls=disabled,nettle"
56# the gl packageconfig enables OpenGL elements that haven't been ported 64# the gl packageconfig enables OpenGL elements that haven't been ported
57# to -base yet. They depend on the gstgl library in -base, so we do 65# to -base yet. They depend on the gstgl library in -base, so we do
58# not add GL dependencies here, since these are taken care of in -base. 66# not add GL dependencies here, since these are taken care of in -base.
59 67PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled,"
60PACKAGECONFIG[assrender] = "--enable-assrender,--disable-assrender,libass" 68PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm"
61PACKAGECONFIG[bluez] = "--enable-bluez,--disable-bluez,bluez5" 69PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
62PACKAGECONFIG[bz2] = "--enable-bz2,--disable-bz2,bzip2" 70PACKAGECONFIG[libmms] = "-Dlibmms=enabled,-Dlibmms=disabled,libmms"
63PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl" 71PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2"
64PACKAGECONFIG[dash] = "--enable-dash,--disable-dash,libxml2" 72PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
65PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394" 73PACKAGECONFIG[msdk] = "-Dmsdk=enabled,-Dmsdk=disabled,intel-mediasdk"
66PACKAGECONFIG[directfb] = "--enable-directfb,--disable-directfb,directfb" 74PACKAGECONFIG[neon] = "-Dneon=enabled,-Dneon=disabled,neon"
67PACKAGECONFIG[dtls] = "--enable-dtls,--disable-dtls,openssl" 75PACKAGECONFIG[openal] = "-Dopenal=enabled,-Dopenal=disabled,openal-soft"
68PACKAGECONFIG[faac] = "--enable-faac,--disable-faac,faac" 76PACKAGECONFIG[opencv] = "-Dopencv=enabled,-Dopencv=disabled,opencv"
69PACKAGECONFIG[faad] = "--enable-faad,--disable-faad,faad2" 77PACKAGECONFIG[openh264] = "-Dopenh264=enabled,-Dopenh264=disabled,openh264"
70PACKAGECONFIG[flite] = "--enable-flite,--disable-flite,flite-alsa" 78PACKAGECONFIG[openjpeg] = "-Dopenjpeg=enabled,-Dopenjpeg=disabled,openjpeg"
71PACKAGECONFIG[fluidsynth] = "--enable-fluidsynth,--disable-fluidsynth,fluidsynth" 79PACKAGECONFIG[openmpt] = "-Dopenmpt=enabled,-Dopenmpt=disabled,libopenmpt"
72PACKAGECONFIG[hls] = "--enable-hls --with-hls-crypto=nettle,--disable-hls,nettle"
73PACKAGECONFIG[gl] = "--enable-gl,--disable-gl,"
74PACKAGECONFIG[kms] = "--enable-kms,--disable-kms,libdrm"
75PACKAGECONFIG[libde265] = "--enable-libde265,--disable-libde265,libde265"
76PACKAGECONFIG[libmms] = "--enable-libmms,--disable-libmms,libmms"
77PACKAGECONFIG[libssh2] = "--enable-libssh2,--disable-libssh2,libssh2"
78PACKAGECONFIG[modplug] = "--enable-modplug,--disable-modplug,libmodplug"
79PACKAGECONFIG[neon] = "--enable-neon,--disable-neon,neon"
80PACKAGECONFIG[openal] = "--enable-openal,--disable-openal,openal-soft"
81PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv"
82PACKAGECONFIG[openh264] = "--enable-openh264,--disable-openh264,openh264"
83PACKAGECONFIG[openjpeg] = "--enable-openjpeg,--disable-openjpeg,openjpeg"
84# the opus encoder/decoder elements are now in the -base package, 80# the opus encoder/decoder elements are now in the -base package,
85# but the opus parser remains in -bad 81# but the opus parser remains in -bad
86PACKAGECONFIG[opusparse] = "--enable-opus,--disable-opus,libopus" 82PACKAGECONFIG[opusparse] = "-Dopus=enabled,-Dopus=disabled,libopus"
87PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdread libdvdnav" 83PACKAGECONFIG[resindvd] = "-Dresindvd=enabled,-Dresindvd=disabled,libdvdread libdvdnav"
88PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg" 84PACKAGECONFIG[rsvg] = "-Drsvg=enabled,-Drsvg=disabled,librsvg"
89PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump" 85PACKAGECONFIG[rtmp] = "-Drtmp=enabled,-Drtmp=disabled,rtmpdump"
90PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc" 86PACKAGECONFIG[sbc] = "-Dsbc=enabled,-Dsbc=disabled,sbc"
91PACKAGECONFIG[smoothstreaming] = "--enable-smoothstreaming,--disable-smoothstreaming,libxml2" 87PACKAGECONFIG[sctp] = "-Dsctp=enabled,-Dsctp=disabled,usrsctp"
92PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1" 88PACKAGECONFIG[smoothstreaming] = "-Dsmoothstreaming=enabled,-Dsmoothstreaming=disabled,libxml2"
93PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp" 89PACKAGECONFIG[sndfile] = "-Dsndfile=enabled,-Dsndfile=disabled,libsndfile1"
94PACKAGECONFIG[tinyalsa] = "--enable-tinyalsa,--disable-tinyalsa,tinyalsa" 90PACKAGECONFIG[srtp] = "-Dsrtp=enabled,-Dsrtp=disabled,libsrtp"
95PACKAGECONFIG[ttml] = "--enable-ttml,--disable-ttml,libxml2 pango cairo" 91PACKAGECONFIG[tinyalsa] = "-Dtinyalsa=enabled,-Dtinyalsa=disabled,tinyalsa"
96PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev" 92PACKAGECONFIG[ttml] = "-Dttml=enabled,-Dttml=disabled,libxml2 pango cairo"
97PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc" 93PACKAGECONFIG[uvch264] = "-Duvch264=enabled,-Duvch264=disabled,libusb1 libgudev"
98PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc" 94PACKAGECONFIG[voaacenc] = "-Dvoaacenc=enabled,-Dvoaacenc=disabled,vo-aacenc"
99PACKAGECONFIG[vulkan] = "--enable-vulkan,--disable-vulkan,vulkan-headers" 95PACKAGECONFIG[voamrwbenc] = "-Dvoamrwbenc=enabled,-Dvoamrwbenc=disabled,vo-amrwbenc"
100PACKAGECONFIG[lcms2] = "--enable-lcms2,--disable-lcms2,lcms" 96PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled,vulkan-loader"
101PACKAGECONFIG[openmpt] = "--enable-openmpt,--disable-openmpt,libopenmpt" 97PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,wayland-native wayland wayland-protocols libdrm"
102PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols libdrm" 98PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
103PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp" 99PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
104PACKAGECONFIG[webrtc] = "--enable-webrtc,--disable-webrtc,libnice" 100PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
105PACKAGECONFIG[webrtcdsp] = "--enable-webrtcdsp,--disable-webrtcdsp,webrtc-audio-processing" 101PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar"
106 102
107# these plugins have no corresponding library in OE-core or meta-openembedded: 103# Following package config in not available in NXP fork:
108# openni2 winks direct3d directsound winscreencap apple_media iqa 104#PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
109# android_media avc bs2b chromaprint dts fdkaac gme gsm kate ladspa 105
110# lv2 mpeg2enc mplex msdk musepack nvenc ofa openmpt opensles soundtouch 106# these plugins currently have no corresponding library in OE-core or meta-openembedded:
111# spandsp teletextdec vdpau wasapi x265 zbar 107# aom androidmedia applemedia bs2b chromaprint d3dvideosink
112 108# directsound dts fdkaac gme gsm iq kate ladspa lv2 mpeg2enc
113EXTRA_OECONF += " \ 109# mplex musepack nvdec nvenc ofa openexr openni2 opensles
114 --enable-decklink \ 110# soundtouch spandsp srt teletext vdpau wasapi wildmidi winks
115 --enable-dvb \ 111# winscreencap wpe x265
116 --enable-fbdev \ 112
117 --enable-ipcpipeline \ 113EXTRA_OEMESON += " \
118 --enable-netsim \ 114 -Ddecklink=enabled \
119 --enable-shm \ 115 -Ddvb=enabled \
120 --disable-android_media \ 116 -Dfbdev=enabled \
121 --disable-aom \ 117 -Dipcpipeline=enabled \
122 --disable-apple_media \ 118 -Dnetsim=enabled \
123 --disable-avc \ 119 -Dshm=enabled \
124 --disable-bs2b \ 120 -Daom=disabled \
125 --disable-chromaprint \ 121 -Dandroidmedia=disabled \
126 --disable-direct3d \ 122 -Dapplemedia=disabled \
127 --disable-directsound \ 123 -Dbs2b=disabled \
128 --disable-dts \ 124 -Dchromaprint=disabled \
129 --disable-fdk_aac \ 125 -Dd3dvideosink=disabled \
130 --disable-gme \ 126 -Ddirectsound=disabled \
131 --disable-gsm \ 127 -Ddts=disabled \
132 --disable-iqa \ 128 -Dfdkaac=disabled \
133 --disable-kate \ 129 -Dflite=disabled \
134 --disable-ladspa \ 130 -Dgme=disabled \
135 --disable-lv2 \ 131 -Dgsm=disabled \
136 --disable-mpeg2enc \ 132 -Diqa=disabled \
137 --disable-mplex \ 133 -Dkate=disabled \
138 --disable-msdk \ 134 -Dladspa=disabled \
139 --disable-musepack \ 135 -Dlv2=disabled \
140 --disable-nvenc \ 136 -Dmpeg2enc=disabled \
141 --disable-ofa \ 137 -Dmplex=disabled \
142 --disable-openexr \ 138 -Dmsdk=disabled \
143 --disable-openmpt \ 139 -Dmusepack=disabled \
144 --disable-openni2 \ 140 -Dnvdec=disabled \
145 --disable-opensles \ 141 -Dnvenc=disabled \
146 --disable-soundtouch \ 142 -Dofa=disabled \
147 --disable-spandsp \ 143 -Dopenexr=disabled \
148 --disable-srt \ 144 -Dopenmpt=disabled \
149 --disable-teletextdec \ 145 -Dopenni2=disabled \
150 --disable-vdpau \ 146 -Dopensles=disabled \
151 --disable-wasapi \ 147 -Dsoundtouch=disabled \
152 --disable-wildmidi \ 148 -Dspandsp=disabled \
153 --disable-winks \ 149 -Dsrt=disabled \
154 --disable-winscreencap \ 150 -Dteletext=disabled \
155 --disable-x265 \ 151 -Dvdpau=disabled \
156 --disable-zbar \ 152 -Dwasapi=disabled \
157 ${@bb.utils.contains("TUNE_FEATURES", "mx32", "--disable-yadif", "", d)} \ 153 -Dwildmidi=disabled \
158 --disable-introspection \ 154 -Dwinks=disabled \
155 -Dwinscreencap=disabled \
156 -Dwpe=disabled \
157 -Dx265=disabled \
158 -Dzbar=disabled \
159 ${@bb.utils.contains("TUNE_FEATURES", "mx32", "-Dyadif=disabled", "", d)} \
159" 160"
161
160export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" 162export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
161 163
162ARM_INSTRUCTION_SET_armv4 = "arm" 164ARM_INSTRUCTION_SET_armv4 = "arm"
163ARM_INSTRUCTION_SET_armv5 = "arm" 165ARM_INSTRUCTION_SET_armv5 = "arm"
164 166
165FILES_${PN}-freeverb += "${datadir}/gstreamer-${LIBV}/presets/GstFreeverb.prs" 167FILES_${PN}-freeverb += "${datadir}/gstreamer-1.0/presets/GstFreeverb.prs"
166FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/${LIBV}/opencv*" 168FILES_${PN}-opencv += "${datadir}/gst-plugins-bad/1.0/opencv*"
167FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-${LIBV}/presets/GstVoAmrwbEnc.prs" 169FILES_${PN}-voamrwbenc += "${datadir}/gstreamer-1.0/presets/GstVoAmrwbEnc.prs"
168# include fragment shaders 170# include fragment shaders
169FILES_${PN}-opengl += "/usr/share/*.fs" 171FILES_${PN}-opengl += "/usr/share/*.fs"
170 172