summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2022-09-05 08:58:15 -0300
committerGitHub <noreply@github.com>2022-09-05 08:58:15 -0300
commit53710450a793e12912913b29828af21758c347be (patch)
tree331ff4458576731ea9d2723acfc2f72498ec376c
parent774b4924c0e1697b6f9195d865507921329648c2 (diff)
parentcc026b37007884e2118b75fc81cca2c7e83ac0c4 (diff)
downloadmeta-freescale-53710450a793e12912913b29828af21758c347be.tar.gz
Merge pull request #1196 from Freescale/backport-1193-to-kirkstone
[Backport kirkstone] Recipes-multimedia from NXP release 5.15.32-2.0.0
-rw-r--r--conf/machine/include/imx-base.inc11
-rw-r--r--recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb3
-rw-r--r--recipes-multimedia/alsa/imx-alsa-plugins_git.bb10
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb26
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch30
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch88
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch42
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch31
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb)44
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch30
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb)25
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb)29
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb45
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb33
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch69
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch (renamed from recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch)14
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch110
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch (renamed from recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch)67
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch32
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch (renamed from recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch)28
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch74
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch107
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch58
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb)28
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.0.bb (renamed from recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb)7
-rw-r--r--recipes-multimedia/imx-codec/imx-codec_4.7.0.bb (renamed from recipes-multimedia/imx-codec/imx-codec_4.6.2.bb)28
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.0.bb (renamed from recipes-multimedia/imx-dsp/imx-dsp-codec-ext_1.2.0.bb)6
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb45
-rw-r--r--recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb57
-rw-r--r--recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb2
-rw-r--r--recipes-multimedia/imx-parser/imx-parser_4.7.0.bb (renamed from recipes-multimedia/imx-parser/imx-parser_4.6.2.bb)10
-rw-r--r--recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.2.bb (renamed from recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb)6
-rw-r--r--recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb (renamed from recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.6.2.bb)9
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch32
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch (renamed from recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch)0
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf2
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa2
-rw-r--r--recipes-multimedia/pulseaudio/pulseaudio_%.bbappend21
38 files changed, 466 insertions, 795 deletions
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 33fb6c84..c832b915 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -435,13 +435,10 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8qm-nxp-bsp ?= "imx-gst1.0-plugin"
435MACHINE_GSTREAMER_1_0_PLUGIN:mx8qxp-nxp-bsp ?= "imx-gst1.0-plugin" 435MACHINE_GSTREAMER_1_0_PLUGIN:mx8qxp-nxp-bsp ?= "imx-gst1.0-plugin"
436MACHINE_GSTREAMER_1_0_PLUGIN:mx8dx-nxp-bsp ?= "imx-gst1.0-plugin" 436MACHINE_GSTREAMER_1_0_PLUGIN:mx8dx-nxp-bsp ?= "imx-gst1.0-plugin"
437 437
438PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.18.5.imx" 438PREFERRED_VERSION_gstreamer1.0:mx8-nxp-bsp ??= "1.20.0.imx"
439PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.18.5.imx" 439PREFERRED_VERSION_gstreamer1.0-plugins-base:mx8-nxp-bsp ??= "1.20.0.imx"
440PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.18.5.imx" 440PREFERRED_VERSION_gstreamer1.0-plugins-good:mx8-nxp-bsp ??= "1.20.0.imx"
441PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.18.5.imx" 441PREFERRED_VERSION_gstreamer1.0-plugins-bad:mx8-nxp-bsp ??= "1.20.0.imx"
442PREFERRED_VERSION_gstreamer1.0-plugins-ugly:mx8-nxp-bsp ??= "1.18.5"
443PREFERRED_VERSION_gstreamer1.0-libav:mx8-nxp-bsp ??= "1.18.5"
444PREFERRED_VERSION_gstreamer1.0-rtsp-server:mx8-nxp-bsp ??= "1.18.5"
445PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1" 442PREFERRED_VERSION_ffmpeg:mx8-nxp-bsp ??= "4.4.1"
446 443
447# Determines if the SoC has support for Vivante kernel driver 444# Determines if the SoC has support for Vivante kernel driver
diff --git a/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb b/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
index 77c81f19..383a0e2a 100644
--- a/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
+++ b/recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
@@ -2,7 +2,7 @@
2# Copyright (C) 2013-2016 Freescale Semiconductor 2# Copyright (C) 2013-2016 Freescale Semiconductor
3# Copyright (C) 2017-2020 NXP 3# Copyright (C) 2017-2020 NXP
4 4
5DESCRIPTION = "Freescale VPU library" 5DESCRIPTION = "Freescale VPU library for Chips&Media VPU"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9" 7LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"
8 8
@@ -28,5 +28,4 @@ do_install() {
28 oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install 28 oe_runmake PLATFORM="${PLATFORM}" DEST_DIR="${D}" install
29} 29}
30 30
31# Compatible only for i.MX with Chips&Media VPU
32COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp)" 31COMPATIBLE_MACHINE = "(mx6q-nxp-bsp|mx6dl-nxp-bsp)"
diff --git a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
index eb375905..1a53131d 100644
--- a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
+++ b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
@@ -17,10 +17,11 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f"
17 17
18inherit autotools pkgconfig use-imx-headers 18inherit autotools pkgconfig use-imx-headers
19 19
20SRCBRANCH = "MM_04.05.01_1909_L4.19.35"
21PV = "1.0.26+${SRCPV}" 20PV = "1.0.26+${SRCPV}"
21
22SRC_URI = "git://source.codeaurora.org/external/imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}" 22SRC_URI = "git://source.codeaurora.org/external/imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}"
23SRCREV = "cde60d68ab2acee913dbfacb8aabb53d87dd3e38" 23SRCBRANCH = "MM_04.07.00_2205_L5.15.y"
24SRCREV = "0f32bca96f7027c0c1145b27d1790541d34fb84c"
24 25
25S = "${WORKDIR}/git" 26S = "${WORKDIR}/git"
26 27
@@ -28,6 +29,11 @@ INCLUDE_DIR = "-I${STAGING_INCDIR_IMX}"
28 29
29EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}"" 30EXTRA_OECONF = "CFLAGS="${INCLUDE_DIR}""
30 31
32PACKAGECONFIG ??= "${PACKAGECONFIG_SWPDM}"
33PACKAGECONFIG_SWPDM = ""
34PACKAGECONFIG_SWPDM:mx8-nxp-bsp = "swpdm"
35PACKAGECONFIG[swpdm] = "--enable-swpdm,--disable-swpdm,imx-sw-pdm"
36
31INSANE_SKIP:${PN} = "dev-so" 37INSANE_SKIP:${PN} = "dev-so"
32 38
33FILES:${PN} += "${libdir}/alsa-lib/libasound_*.so" 39FILES:${PN} += "${libdir}/alsa-lib/libasound_*.so"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb
deleted file mode 100644
index 62005cc8..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.18.5.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1SUMMARY = "Libav-based GStreamer 1.x plugin"
2DESCRIPTION = "Contains a GStreamer plugin for using the encoders, decoders, \
3muxers, and demuxers provided by FFmpeg."
4HOMEPAGE = "http://gstreamer.freedesktop.org/"
5SECTION = "multimedia"
6
7# ffmpeg has comercial license flags so add it as we need ffmpeg as a dependency
8LICENSE_FLAGS = "commercial"
9LICENSE = "LGPL-2.0-or-later"
10LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \
11 file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
12 "
13
14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
15SRC_URI[sha256sum] = "822e008a910e9dd13aedbdd8dc63fedef4040c0ee2e927bab3112e9de693a548"
16
17S = "${WORKDIR}/gst-libav-${PV}"
18
19DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
20
21inherit meson pkgconfig upstream-version-is-even
22
23FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
24FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
25
26COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch
deleted file mode 100644
index ead6897f..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0002-avoid-including-sys-poll.h-directly.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 3b05e91720c10fcf6e0e408595b7217f6fa145c2 Mon Sep 17 00:00:00 2001
2From: Andre McCurdy <armccurdy@gmail.com>
3Date: Wed, 3 Feb 2016 18:05:41 -0800
4Subject: [PATCH 2/4] avoid including <sys/poll.h> directly
5
6musl libc generates warnings if <sys/poll.h> is included directly.
7
8Upstream-Status: Pending
9
10Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
11---
12 sys/dvb/gstdvbsrc.c | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c
16index ca6b92a..b2772db 100644
17--- a/sys/dvb/gstdvbsrc.c
18+++ b/sys/dvb/gstdvbsrc.c
19@@ -97,7 +97,7 @@
20 #include <gst/gst.h>
21 #include <gst/glib-compat-private.h>
22 #include <sys/ioctl.h>
23-#include <sys/poll.h>
24+#include <poll.h>
25 #include <fcntl.h>
26 #include <errno.h>
27 #include <stdio.h>
28--
292.28.0
30
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch
deleted file mode 100644
index 88fbc40d..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch
+++ /dev/null
@@ -1,88 +0,0 @@
1From 5ed27de9f662fe063b8b3d5d4335aa64cd4718c9 Mon Sep 17 00:00:00 2001
2From: Andre McCurdy <armccurdy@gmail.com>
3Date: Tue, 9 Feb 2016 14:00:00 -0800
4Subject: [PATCH 3/4] ensure valid sentinals for gst_structure_get() etc
5
6For GStreamer functions declared with G_GNUC_NULL_TERMINATED,
7ie __attribute__((__sentinel__)), gcc will generate a warning if the
8last parameter passed to the function is not NULL (where a valid NULL
9in this context is defined as zero with any pointer type).
10
11The C callers to such functions within gst-plugins-bad use the C NULL
12definition (ie ((void*)0)), which is a valid sentinel.
13
14However the C++ NULL definition (ie 0L), is not a valid sentinel
15without an explicit cast to a pointer type.
16
17Upstream-Status: Pending
18
19Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
20---
21 sys/decklink/gstdecklink.cpp | 10 +++++-----
22 sys/decklink/gstdecklinkaudiosrc.cpp | 2 +-
23 sys/decklink/gstdecklinkvideosink.cpp | 2 +-
24 3 files changed, 7 insertions(+), 7 deletions(-)
25
26diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp
27index 4dac7e1..43762ce 100644
28--- a/sys/decklink/gstdecklink.cpp
29+++ b/sys/decklink/gstdecklink.cpp
30@@ -674,7 +674,7 @@ gst_decklink_mode_get_generic_structure (GstDecklinkModeEnum e)
31 "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d,
32 "interlace-mode", G_TYPE_STRING,
33 mode->interlaced ? "interleaved" : "progressive",
34- "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, NULL);
35+ "framerate", GST_TYPE_FRACTION, mode->fps_n, mode->fps_d, (void*)NULL);
36
37 return s;
38 }
39@@ -699,16 +699,16 @@ gst_decklink_mode_get_structure (GstDecklinkModeEnum e, BMDPixelFormat f,
40 case bmdFormat8BitYUV: /* '2vuy' */
41 gst_structure_set (s, "format", G_TYPE_STRING, "UYVY",
42 "colorimetry", G_TYPE_STRING, mode->colorimetry,
43- "chroma-site", G_TYPE_STRING, "mpeg2", NULL);
44+ "chroma-site", G_TYPE_STRING, "mpeg2", (void*)NULL);
45 break;
46 case bmdFormat10BitYUV: /* 'v210' */
47- gst_structure_set (s, "format", G_TYPE_STRING, "v210", NULL);
48+ gst_structure_set (s, "format", G_TYPE_STRING, "v210", (void*)NULL);
49 break;
50 case bmdFormat8BitARGB: /* 'ARGB' */
51- gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", NULL);
52+ gst_structure_set (s, "format", G_TYPE_STRING, "ARGB", (void*)NULL);
53 break;
54 case bmdFormat8BitBGRA: /* 'BGRA' */
55- gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", NULL);
56+ gst_structure_set (s, "format", G_TYPE_STRING, "BGRA", (void*)NULL);
57 break;
58 case bmdFormat10BitRGB: /* 'r210' Big-endian RGB 10-bit per component with SMPTE video levels (64-960). Packed as 2:10:10:10 */
59 case bmdFormat12BitRGB: /* 'R12B' Big-endian RGB 12-bit per component with full range (0-4095). Packed as 12-bit per component */
60diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp
61index 2fef934..c47229a 100644
62--- a/sys/decklink/gstdecklinkaudiosrc.cpp
63+++ b/sys/decklink/gstdecklinkaudiosrc.cpp
64@@ -379,7 +379,7 @@ gst_decklink_audio_src_start (GstDecklinkAudioSrc * self)
65 g_mutex_unlock (&self->input->lock);
66
67 if (videosrc) {
68- g_object_get (videosrc, "connection", &vconn, NULL);
69+ g_object_get (videosrc, "connection", &vconn, (void *) NULL);
70 gst_object_unref (videosrc);
71
72 switch (vconn) {
73diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
74index e3a6775..f1a5aae 100644
75--- a/sys/decklink/gstdecklinkvideosink.cpp
76+++ b/sys/decklink/gstdecklinkvideosink.cpp
77@@ -286,7 +286,7 @@ reset_framerate (GstCapsFeatures * features, GstStructure * structure,
78 gpointer user_data)
79 {
80 gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1,
81- G_MAXINT, 1, NULL);
82+ G_MAXINT, 1, (void *) NULL);
83
84 return TRUE;
85 }
86--
872.28.0
88
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
index b8167090..029b80e1 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
@@ -1,7 +1,7 @@
1From f19ff66640f2f472c4e9d9055253032d34e125c6 Mon Sep 17 00:00:00 2001 1From 3bc5d48257032b6bbee532aad15062fbbcc43bfe Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.z@gmail.com> 2From: Andrey Zhizhikin <andrey.z@gmail.com>
3Date: Mon, 27 Jan 2020 10:22:35 +0000 3Date: Mon, 27 Jan 2020 10:22:35 +0000
4Subject: [PATCH 4/4] opencv: resolve missing opencv data dir in yocto build 4Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build
5 5
6When Yocto build is performed, opencv searches for data dir using simple 6When Yocto build is performed, opencv searches for data dir using simple
7'test' command, this fails because pkg-config provides an absolute 7'test' command, this fails because pkg-config provides an absolute
@@ -11,39 +11,23 @@ in order for the 'test' utility to pick up the absolute path.
11Upstream-Status: Inappropriate [OE-specific] 11Upstream-Status: Inappropriate [OE-specific]
12 12
13Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com> 13Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
14Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
15
14--- 16---
15 ext/opencv/meson.build | 7 ++++--- 17 ext/opencv/meson.build | 3 +++
16 1 file changed, 4 insertions(+), 3 deletions(-) 18 1 file changed, 3 insertions(+)
17 19
18diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build 20diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
19index 0b0b3fc..0ed3344 100644 21index 1d86b90..b5c8b95 100644
20--- a/ext/opencv/meson.build 22--- a/ext/opencv/meson.build
21+++ b/ext/opencv/meson.build 23+++ b/ext/opencv/meson.build
22@@ -78,20 +78,21 @@ else 24@@ -87,6 +87,9 @@ if opencv_found
23 endif 25 opencv_prefix = opencv_dep.get_variable('prefix')
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 + '"'] 26 gstopencv_cargs += ['-DOPENCV_PREFIX="' + opencv_prefix + '"']
29 27
28+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
29+ opencv_prefix = pkgconf_sysroot + opencv_prefix
30+
30 # Check the data dir used by opencv for its xml data files 31 # 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 # 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', opencv_prefix + '/share/opencv', check: false)
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.28.0
49
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch
deleted file mode 100644
index cb3bb7d3..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0005-msdk-fix-includedir-path.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From 1f00d5026118ebd48e4ccf83d32d67155c4e7f60 Mon Sep 17 00:00:00 2001
2From: Naveen Saini <naveen.kumar.saini@intel.com>
3Date: Wed, 30 Dec 2020 16:37:47 +0800
4Subject: [PATCH] msdk: fix includedir path
5
6In cross compilation, need to prepend PKG_CONFIG_SYSROOT_DIR to the dir path.
7
8Upstream-Status: Inappropriate [OE-specific]
9
10Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
11---
12 sys/msdk/meson.build | 2 ++
13 1 file changed, 2 insertions(+)
14
15diff --git a/sys/msdk/meson.build b/sys/msdk/meson.build
16index 6346c9451..068f38548 100644
17--- a/sys/msdk/meson.build
18+++ b/sys/msdk/meson.build
19@@ -40,7 +40,9 @@ endif
20
21 mfx_dep = dependency('libmfx', required: false)
22 if mfx_dep.found()
23+ pkgconf_sysroot = run_command(python3, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
24 mfx_incdir = mfx_dep.get_pkgconfig_variable('includedir')
25+ mfx_incdir = pkgconf_sysroot + mfx_incdir
26 mfx_inc = []
27 else
28 # Old versions of MediaSDK don't provide a pkg-config file
29--
302.17.1
31
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.imx.bb
index 44b95451..5f422a1f 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.18.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.0.imx.bb
@@ -3,9 +3,10 @@
3# recipe. The second section customizes the recipe for i.MX. 3# recipe. The second section customizes the recipe for i.MX.
4 4
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15 6# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138
7 7
8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc 8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
9require recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
9 10
10DESCRIPTION = "'Bad' GStreamer plugins and helper libraries " 11DESCRIPTION = "'Bad' GStreamer plugins and helper libraries "
11HOMEPAGE = "https://gstreamer.freedesktop.org/" 12HOMEPAGE = "https://gstreamer.freedesktop.org/"
@@ -18,11 +19,11 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad
18 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ 19 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
19 file://0005-msdk-fix-includedir-path.patch \ 20 file://0005-msdk-fix-includedir-path.patch \
20 " 21 "
21SRC_URI[sha256sum] = "74e806bc5595b18c70e9ca93571e27e79dfb808e5d2e7967afa952b52e99c85f" 22SRC_URI[sha256sum] = "09d3c2cf5911f0bc7da6bf557a55251779243d3de216b6a26cc90c445b423848"
22 23
23S = "${WORKDIR}/gst-plugins-bad-${PV}" 24S = "${WORKDIR}/gst-plugins-bad-${PV}"
24 25
25LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later" 26LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
26LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" 27LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
27 28
28DEPENDS += "gstreamer1.0-plugins-base" 29DEPENDS += "gstreamer1.0-plugins-base"
@@ -32,11 +33,12 @@ inherit gobject-introspection
32PACKAGECONFIG ??= " \ 33PACKAGECONFIG ??= " \
33 ${GSTREAMER_ORC} \ 34 ${GSTREAMER_ORC} \
34 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ 35 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \
35 ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan', d)} \ 36 ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan x11', d)} \
36 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ 37 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \
37 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \ 38 ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \
38 bz2 closedcaption curl dash dtls hls openssl rsvg sbc smoothstreaming \ 39 bz2 closedcaption curl dash dtls hls openssl sbc smoothstreaming \
39 sndfile ttml uvch264 webp \ 40 sndfile ttml uvch264 webp \
41 ${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'rsvg', d)} \
40" 42"
41 43
42PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom" 44PACKAGECONFIG[aom] = "-Daom=enabled,-Daom=disabled,aom"
@@ -63,7 +65,6 @@ PACKAGECONFIG[gcrypt] = "-Dhls-crypto=libgcrypt,,libgcrypt"
63PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled," 65PACKAGECONFIG[gl] = "-Dgl=enabled,-Dgl=disabled,"
64PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm" 66PACKAGECONFIG[kms] = "-Dkms=enabled,-Dkms=disabled,libdrm"
65PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265" 67PACKAGECONFIG[libde265] = "-Dlibde265=enabled,-Dlibde265=disabled,libde265"
66PACKAGECONFIG[libmms] = "-Dlibmms=enabled,-Dlibmms=disabled,libmms"
67PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2" 68PACKAGECONFIG[libssh2] = "-Dcurl-ssh2=enabled,-Dcurl-ssh2=disabled,libssh2"
68PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms" 69PACKAGECONFIG[lcms2] = "-Dcolormanagement=enabled,-Dcolormanagement=disabled,lcms"
69PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug" 70PACKAGECONFIG[modplug] = "-Dmodplug=enabled,-Dmodplug=disabled,libmodplug"
@@ -99,10 +100,15 @@ PACKAGECONFIG[webp] = "-Dwebp=enabled,-Dwebp=disabled,libwebp"
99PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice" 100PACKAGECONFIG[webrtc] = "-Dwebrtc=enabled,-Dwebrtc=disabled,libnice"
100PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing" 101PACKAGECONFIG[webrtcdsp] = "-Dwebrtcdsp=enabled,-Dwebrtcdsp=disabled,webrtc-audio-processing"
101PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar" 102PACKAGECONFIG[zbar] = "-Dzbar=enabled,-Dzbar=disabled,zbar"
103PACKAGECONFIG[x11] = "-Dx11=enabled,-Dx11=disabled,libxcb libxkbcommon"
102PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265" 104PACKAGECONFIG[x265] = "-Dx265=enabled,-Dx265=disabled,x265"
103 105
106GSTREAMER_GPL = "${@bb.utils.filter('PACKAGECONFIG', 'faad resindvd x265', d)}"
107
104EXTRA_OEMESON += " \ 108EXTRA_OEMESON += " \
105 -Ddoc=disabled \ 109 -Ddoc=disabled \
110 -Daes=enabled \
111 -Dcodecalpha=enabled \
106 -Ddecklink=enabled \ 112 -Ddecklink=enabled \
107 -Ddvb=enabled \ 113 -Ddvb=enabled \
108 -Dfbdev=enabled \ 114 -Dfbdev=enabled \
@@ -111,6 +117,7 @@ EXTRA_OEMESON += " \
111 -Dtranscode=enabled \ 117 -Dtranscode=enabled \
112 -Dandroidmedia=disabled \ 118 -Dandroidmedia=disabled \
113 -Dapplemedia=disabled \ 119 -Dapplemedia=disabled \
120 -Dasio=disabled \
114 -Davtp=disabled \ 121 -Davtp=disabled \
115 -Dbs2b=disabled \ 122 -Dbs2b=disabled \
116 -Dchromaprint=disabled \ 123 -Dchromaprint=disabled \
@@ -121,10 +128,12 @@ EXTRA_OEMESON += " \
121 -Dfdkaac=disabled \ 128 -Dfdkaac=disabled \
122 -Dflite=disabled \ 129 -Dflite=disabled \
123 -Dgme=disabled \ 130 -Dgme=disabled \
131 -Dgs=disabled \
124 -Dgsm=disabled \ 132 -Dgsm=disabled \
125 -Diqa=disabled \ 133 -Diqa=disabled \
126 -Dkate=disabled \ 134 -Dkate=disabled \
127 -Dladspa=disabled \ 135 -Dladspa=disabled \
136 -Dldac=disabled \
128 -Dlv2=disabled \ 137 -Dlv2=disabled \
129 -Dmagicleap=disabled \ 138 -Dmagicleap=disabled \
130 -Dmediafoundation=disabled \ 139 -Dmediafoundation=disabled \
@@ -133,10 +142,12 @@ EXTRA_OEMESON += " \
133 -Dmplex=disabled \ 142 -Dmplex=disabled \
134 -Dmusepack=disabled \ 143 -Dmusepack=disabled \
135 -Dnvcodec=disabled \ 144 -Dnvcodec=disabled \
136 -Dofa=disabled \
137 -Dopenexr=disabled \ 145 -Dopenexr=disabled \
138 -Dopenni2=disabled \ 146 -Dopenni2=disabled \
147 -Dopenaptx=disabled \
139 -Dopensles=disabled \ 148 -Dopensles=disabled \
149 -Donnx=disabled \
150 -Dqroverlay=disabled \
140 -Dsoundtouch=disabled \ 151 -Dsoundtouch=disabled \
141 -Dspandsp=disabled \ 152 -Dspandsp=disabled \
142 -Dsvthevcenc=disabled \ 153 -Dsvthevcenc=disabled \
@@ -149,7 +160,6 @@ EXTRA_OEMESON += " \
149 -Dwpe=disabled \ 160 -Dwpe=disabled \
150 -Dzxing=disabled \ 161 -Dzxing=disabled \
151" 162"
152
153export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}" 163export OPENCV_PREFIX = "${STAGING_DIR_TARGET}${prefix}"
154 164
155ARM_INSTRUCTION_SET:armv4 = "arm" 165ARM_INSTRUCTION_SET:armv4 = "arm"
@@ -168,31 +178,33 @@ DEFAULT_PREFERENCE = "-1"
168 178
169DEPENDS:append:imxgpu2d = " virtual/libg2d" 179DEPENDS:append:imxgpu2d = " virtual/libg2d"
170 180
171SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz" 181SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-${PV}.tar.xz \
172GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https" 182 file://0002-avoid-including-sys-poll.h-directly.patch \
173SRCBRANCH = "MM_04.06.04_2112_L5.15.y" 183 file://0003-ensure-valid-sentinals-for-gst_structure_get-etc.patch \
184 file://0005-msdk-fix-includedir-path.patch \
185 "
174SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " 186SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
175SRCREV = "1dd01156ea45fc7a61e9edc4186353cd63a03800" 187GST1.0-PLUGINS-BAD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-bad.git;protocol=https"
188SRCBRANCH = "MM_04.07.00_2205_L5.15.y"
189SRCREV = "63a55f06f7e8f21b483c6d70d50389beb2e85e37"
176 190
177S = "${WORKDIR}/git" 191S = "${WORKDIR}/git"
178 192
179inherit use-imx-headers 193inherit use-imx-headers
180 194
181PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}" 195PACKAGE_ARCH:imxpxp = "${MACHINE_SOCARCH}"
182PACKAGE_ARCH:mx8 = "${MACHINE_SOCARCH}" 196PACKAGE_ARCH:mx8-nxp-bsp = "${MACHINE_SOCARCH}"
183 197
184PACKAGECONFIG_REMOVE ?= " \ 198PACKAGECONFIG_REMOVE ?= " \
185 dtls vulkan \ 199 dtls vulkan \
186 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gl', d)} \ 200 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gl', d)} \
187" 201"
188PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}" 202PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
189PACKAGECONFIG:append:mx8 = " kms tinycompress" 203PACKAGECONFIG:append:mx8-nxp-bsp = " kms tinycompress"
190 204
191PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress" 205PACKAGECONFIG[tinycompress] = "-Dtinycompress=enabled,-Dtinycompress=disabled,tinycompress"
192 206
193# Disable introspection to fix [GstPlayer-1.0.gir] Error
194EXTRA_OEMESON += " \ 207EXTRA_OEMESON += " \
195 -Dintrospection=disabled \
196 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ 208 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
197" 209"
198 210
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
deleted file mode 100644
index b8fc8827..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0003-viv-fb-Make-sure-config.h-is-included.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 70a702af3a3a4afcadbc53d61c4c45f31f96b2cc Mon Sep 17 00:00:00 2001
2From: Carlos Rafael Giani <crg7475@mailbox.org>
3Date: Tue, 21 May 2019 14:01:11 +0200
4Subject: [PATCH] viv-fb: Make sure config.h is included
5
6This prevents build errors due to missing GST_API_* symbols
7
8Upstream-Status: Pending
9
10Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org>
11
12---
13 gst-libs/gst/gl/gl-prelude.h | 4 ++++
14 1 file changed, 4 insertions(+)
15
16diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h
17index 05e1f6229..96ce5e685 100644
18--- a/gst-libs/gst/gl/gl-prelude.h
19+++ b/gst-libs/gst/gl/gl-prelude.h
20@@ -22,6 +22,10 @@
21 #ifndef __GST_GL_PRELUDE_H__
22 #define __GST_GL_PRELUDE_H__
23
24+#ifdef HAVE_CONFIG_H
25+#include "config.h"
26+#endif
27+
28 #include <gst/gst.h>
29
30 #ifdef BUILDING_GST_GL
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb
index 03bfa129..3fce3a58 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.18.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.20.0.imx.bb
@@ -3,24 +3,22 @@
3# recipe. The second section customizes the recipe for i.MX. 3# recipe. The second section customizes the recipe for i.MX.
4 4
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15 6# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138
7 7
8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc 8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
9 9
10DESCRIPTION = "'Base' GStreamer plugins and helper libraries" 10DESCRIPTION = "'Base' GStreamer plugins and helper libraries"
11HOMEPAGE = "https://gstreamer.freedesktop.org/" 11HOMEPAGE = "https://gstreamer.freedesktop.org/"
12BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues" 12BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues"
13LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later" 13LICENSE = "LGPL-2.1-or-later"
14LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d" 14LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770"
15 15
16SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ 16SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
17 file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \ 17 file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
18 file://0003-viv-fb-Make-sure-config.h-is-included.patch \ 18 file://0003-viv-fb-Make-sure-config.h-is-included.patch \
19 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ 19 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \
20 file://0004-glimagesink-Downrank-to-marginal.patch \
21 file://4ef5c91697a141fea7317aff7f0f28e5a861db99.patch \
22 " 20 "
23SRC_URI[sha256sum] = "29e53229a84d01d722f6f6db13087231cdf6113dd85c25746b9b58c3d68e8323" 21SRC_URI[sha256sum] = "96d8a6413ba9394fbec1217aeef63741a729d476a505a797c1d5337d8fa7c204"
24 22
25S = "${WORKDIR}/gst-plugins-base-${PV}" 23S = "${WORKDIR}/gst-plugins-base-${PV}"
26 24
@@ -51,11 +49,13 @@ X11DISABLEOPTS = "-Dx11=disabled -Dxvideo=disabled -Dxshm=disabled"
51 49
52PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib" 50PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib"
53PACKAGECONFIG[cdparanoia] = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia" 51PACKAGECONFIG[cdparanoia] = "-Dcdparanoia=enabled,-Dcdparanoia=disabled,cdparanoia"
52PACKAGECONFIG[graphene] = "-Dgl-graphene=enabled,-Dgl-graphene=disabled,graphene"
54PACKAGECONFIG[jpeg] = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg" 53PACKAGECONFIG[jpeg] = "-Dgl-jpeg=enabled,-Dgl-jpeg=disabled,jpeg"
55PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg" 54PACKAGECONFIG[ogg] = "-Dogg=enabled,-Dogg=disabled,libogg"
56PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus" 55PACKAGECONFIG[opus] = "-Dopus=enabled,-Dopus=disabled,libopus"
57PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango" 56PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango"
58PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng" 57PACKAGECONFIG[png] = "-Dgl-png=enabled,-Dgl-png=disabled,libpng"
58PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native"
59PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora" 59PACKAGECONFIG[theora] = "-Dtheora=enabled,-Dtheora=disabled,libtheora"
60PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor" 60PACKAGECONFIG[tremor] = "-Dtremor=enabled,-Dtremor=disabled,tremor"
61PACKAGECONFIG[visual] = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual" 61PACKAGECONFIG[visual] = "-Dlibvisual=enabled,-Dlibvisual=disabled,libvisual"
@@ -79,7 +79,6 @@ OPENGL_WINSYS = "${@bb.utils.filter('PACKAGECONFIG', 'x11 gbm wayland dispmanx e
79 79
80EXTRA_OEMESON += " \ 80EXTRA_OEMESON += " \
81 -Ddoc=disabled \ 81 -Ddoc=disabled \
82 -Dgl-graphene=disabled \
83 ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \ 82 ${@get_opengl_cmdline_list('gl_api', d.getVar('OPENGL_APIS'), d)} \
84 ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \ 83 ${@get_opengl_cmdline_list('gl_platform', d.getVar('OPENGL_PLATFORMS'), d)} \
85 ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \ 84 ${@get_opengl_cmdline_list('gl_winsys', d.getVar('OPENGL_WINSYS'), d)} \
@@ -110,14 +109,12 @@ DEFAULT_PREFERENCE = "-1"
110SRC_URI:remove = " \ 109SRC_URI:remove = " \
111 https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \ 110 https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz \
112 file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \ 111 file://0001-ENGR00312515-get-caps-from-src-pad-when-query-caps.patch \
113 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch \ 112 file://0003-viv-fb-Make-sure-config.h-is-included.patch \
114 file://0004-glimagesink-Downrank-to-marginal.patch \ 113 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch"
115 file://4ef5c91697a141fea7317aff7f0f28e5a861db99.patch \
116"
117GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
118SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
119SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " 114SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
120SRCREV = "d8f5d6e1d477a299ccb7f4ba7aacd36ff5e39f8b" 115GST1.0-PLUGINS-BASE_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-base.git;protocol=https"
116SRCBRANCH = "MM_04.07.00_2205_L5.15.y"
117SRCREV = "4b8559690bf7a66745cc65900baccd955b436d3c"
121 118
122S = "${WORKDIR}/git" 119S = "${WORKDIR}/git"
123 120
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.imx.bb
index de61be01..cb762982 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.18.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.0.imx.bb
@@ -3,7 +3,7 @@
3# recipe. The second section customizes the recipe for i.MX. 3# recipe. The second section customizes the recipe for i.MX.
4 4
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15 6# Upstream hash: 66ba273c10b7d738f18620b5a2883d735fff3162
7 7
8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc 8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
9 9
@@ -13,15 +13,13 @@ BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues
13 13
14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ 14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
15 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ 15 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
16 file://0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch \
17 file://0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch \
18 " 16 "
19 17
20SRC_URI[sha256sum] = "b6e50e3a9bbcd56ee6ec71c33aa8332cc9c926b0c1fae995aac8b3040ebe39b0" 18SRC_URI[sha256sum] = "f8f3c206bf5cdabc00953920b47b3575af0ef15e9f871c0b6966f6d0aa5868b7"
21 19
22S = "${WORKDIR}/gst-plugins-good-${PV}" 20S = "${WORKDIR}/gst-plugins-good-${PV}"
23 21
24LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" 22LICENSE = "LGPL-2.1-or-later"
25LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ 23LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
26 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe" 24 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe"
27 25
@@ -58,7 +56,12 @@ PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-
58PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" 56PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
59PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio" 57PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
60PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}" 58PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}"
61PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,libsoup-2.4" 59# Starting with version 1.20, the GStreamer soup plugin loads libsoup with dlopen()
60# instead of linking to it. And instead of using the default libsoup C headers, it
61# uses its own stub header. Consequently, objdump will not show the libsoup .so as
62# a dependency, and libsoup won't be added to an image. Fix this by setting libsoup
63# as RDEPEND instead of DEPEND.
64PACKAGECONFIG[soup] = "-Dsoup=enabled,-Dsoup=disabled,,libsoup-2.4"
62PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex" 65PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex"
63PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland" 66PACKAGECONFIG[rpi] = "-Drpicamsrc=enabled,-Drpicamsrc=disabled,userland"
64PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib" 67PACKAGECONFIG[taglib] = "-Dtaglib=enabled,-Dtaglib=disabled,taglib"
@@ -91,18 +94,14 @@ FILES:${PN}-equalizer += "${datadir}/gstreamer-1.0/presets/*.prs"
91DEFAULT_PREFERENCE = "-1" 94DEFAULT_PREFERENCE = "-1"
92 95
93# fb implementation of v4l2 uses libdrm 96# fb implementation of v4l2 uses libdrm
94DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}"
95DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}" 97DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}"
98DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}"
96 99
97SRC_URI:remove = " \ 100SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz"
98 https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
99 file://0002-rtpjitterbuffer-Fix-parsing-of-the-mediaclk-direct-f.patch \
100 file://0003-Remove-volatile-from-static-vars-to-fix-build-with-g.patch \
101"
102GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https"
103SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
104SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " 101SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
105SRCREV = "2438ae179ed4245fbeaa2ce36b1918ed7232d442" 102GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://source.codeaurora.org/external/imx/gst-plugins-good.git;protocol=https"
103SRCBRANCH = "MM_04.07.00_2205_L5.15.y"
104SRCREV = "4c58a36cfd4b2b16d8978b9592145fb46bb58732"
106 105
107S = "${WORKDIR}/git" 106S = "${WORKDIR}/git"
108 107
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb
deleted file mode 100644
index 98e94786..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.18.5.bb
+++ /dev/null
@@ -1,45 +0,0 @@
1require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
2
3DESCRIPTION = "'Ugly GStreamer plugins"
4HOMEPAGE = "https://gstreamer.freedesktop.org/"
5BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
8 file://tests/check/elements/xingmux.c;beginline=1;endline=21;md5=4c771b8af188724855cb99cadd390068"
9
10LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & LGPL-2.0-or-later"
11LICENSE_FLAGS = "commercial"
12
13SRC_URI = " \
14 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
15 "
16SRC_URI[sha256sum] = "df32803e98f8a9979373fa2ca7e05e62f977b1097576d3a80619d9f5c69f66d9"
17
18S = "${WORKDIR}/gst-plugins-ugly-${PV}"
19
20DEPENDS += "gstreamer1.0-plugins-base"
21
22GST_PLUGIN_SET_HAS_EXAMPLES = "0"
23
24PACKAGECONFIG ??= " \
25 ${GSTREAMER_ORC} \
26 a52dec mpeg2dec \
27"
28
29PACKAGECONFIG[a52dec] = "-Da52dec=enabled,-Da52dec=disabled,liba52"
30PACKAGECONFIG[amrnb] = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr"
31PACKAGECONFIG[amrwb] = "-Damrwbdec=enabled,-Damrwbdec=disabled,opencore-amr"
32PACKAGECONFIG[cdio] = "-Dcdio=enabled,-Dcdio=disabled,libcdio"
33PACKAGECONFIG[dvdread] = "-Ddvdread=enabled,-Ddvdread=disabled,libdvdread"
34PACKAGECONFIG[mpeg2dec] = "-Dmpeg2dec=enabled,-Dmpeg2dec=disabled,mpeg2dec"
35PACKAGECONFIG[x264] = "-Dx264=enabled,-Dx264=disabled,x264"
36
37EXTRA_OEMESON += " \
38 -Ddoc=disabled \
39 -Dsidplay=disabled \
40"
41
42FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
43FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
44
45COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb
deleted file mode 100644
index d4c4e576..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.18.5.bb
+++ /dev/null
@@ -1,33 +0,0 @@
1SUMMARY = "A library on top of GStreamer for building an RTSP server"
2HOMEPAGE = "http://cgit.freedesktop.org/gstreamer/gst-rtsp-server/"
3SECTION = "multimedia"
4LICENSE = "LGPL-2.0-only"
5LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d"
6
7DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
8
9PNREAL = "gst-rtsp-server"
10
11SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
12
13SRC_URI[sha256sum] = "04d63bf48816c6f41c73f6de0f912a7cef0aab39c44162a7bcece1923dfc9d1f"
14
15S = "${WORKDIR}/${PNREAL}-${PV}"
16
17inherit meson pkgconfig upstream-version-is-even gobject-introspection
18
19EXTRA_OEMESON += " \
20 -Ddoc=disabled \
21 -Dexamples=disabled \
22 -Dtests=disabled \
23"
24
25GIR_MESON_ENABLE_FLAG = "enabled"
26GIR_MESON_DISABLE_FLAG = "disabled"
27
28# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
29require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
30
31CVE_PRODUCT += "gst-rtsp-server"
32
33COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
deleted file mode 100644
index 23ebd5c6..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch
+++ /dev/null
@@ -1,69 +0,0 @@
1From fd8f49dba8c09d47425da80f5faab3bfa4a7c962 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sat, 10 Oct 2020 19:09:03 +0000
4Subject: [PATCH 1/3] gstpluginloader: when env var is set do not fall through
5 to system plugin scanner
6
7If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that.
8
9Falling through to the one installed on the system is problamatic in cross-compilation
10environemnts, regardless of whether one pointed to by the env var succeeded or failed.
11
12taken from:
13http://cgit.openembedded.org/openembedded-core/commit/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch?id=0db7ba34ca41b107042306d13a6f0162885c123b
14
15Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669>
16
17Upstream-Status: Backport [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/commit/9f958058697e6fbf5bde325228034572331d1a3a]
18
19Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
20---
21 gst/gstpluginloader.c | 15 +++++++--------
22 1 file changed, 7 insertions(+), 8 deletions(-)
23
24diff --git a/gst/gstpluginloader.c b/gst/gstpluginloader.c
25index d1e404d98..c626bf263 100644
26--- a/gst/gstpluginloader.c
27+++ b/gst/gstpluginloader.c
28@@ -464,20 +464,19 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
29 if (loader->child_running)
30 return TRUE;
31
32- /* Find the gst-plugin-scanner: first try the env-var if it is set,
33- * otherwise use the installed version */
34+ /* Find the gst-plugin-scanner */
35 env = g_getenv ("GST_PLUGIN_SCANNER_1_0");
36 if (env == NULL)
37 env = g_getenv ("GST_PLUGIN_SCANNER");
38
39 if (env != NULL && *env != '\0') {
40+ /* use the env-var if it is set */
41 GST_LOG ("Trying GST_PLUGIN_SCANNER env var: %s", env);
42 helper_bin = g_strdup (env);
43 res = gst_plugin_loader_try_helper (loader, helper_bin);
44 g_free (helper_bin);
45- }
46-
47- if (!res) {
48+ } else {
49+ /* use the installed version */
50 GST_LOG ("Trying installed plugin scanner");
51
52 #ifdef G_OS_WIN32
53@@ -497,10 +496,10 @@ gst_plugin_loader_spawn (GstPluginLoader * loader)
54 #endif
55 res = gst_plugin_loader_try_helper (loader, helper_bin);
56 g_free (helper_bin);
57+ }
58
59- if (!res) {
60- GST_INFO ("No gst-plugin-scanner available, or not working");
61- }
62+ if (!res) {
63+ GST_INFO ("No gst-plugin-scanner available, or not working");
64 }
65
66 return loader->child_running;
67--
682.29.2
69
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch
index 6f571a12..312c04fb 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-respect-the-idententaion-used-in-meson.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-respect-the-idententaion-used-in-meson.patch
@@ -1,4 +1,4 @@
1From 122e5ac3dd16a461b6ae595605490c8f5d1c3a9d Mon Sep 17 00:00:00 2001 1From 1eb77a4ea5a3967c688d8f1192f99c605badc7e2 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com> 2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 11 Apr 2021 19:48:13 +0100 3Date: Sun, 11 Apr 2021 19:48:13 +0100
4Subject: [PATCH 1/4] tests: respect the idententaion used in meson 4Subject: [PATCH 1/4] tests: respect the idententaion used in meson
@@ -7,13 +7,13 @@ Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-
7 7
8Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> 8Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
9--- 9---
10 tests/check/meson.build | 10 +++++----- 10 subprojects/gstreamer/tests/check/meson.build | 10 +++++-----
11 1 file changed, 5 insertions(+), 5 deletions(-) 11 1 file changed, 5 insertions(+), 5 deletions(-)
12 12
13diff --git a/tests/check/meson.build b/tests/check/meson.build 13diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build
14index a617cf159..b2636714b 100644 14index 9c4228b6e4..506606684d 100644
15--- a/tests/check/meson.build 15--- a/subprojects/gstreamer/tests/check/meson.build
16+++ b/tests/check/meson.build 16+++ b/subprojects/gstreamer/tests/check/meson.build
17@@ -146,11 +146,11 @@ foreach t : core_tests 17@@ -146,11 +146,11 @@ foreach t : core_tests
18 18
19 if not skip_test 19 if not skip_test
@@ -32,5 +32,5 @@ index a617cf159..b2636714b 100644
32 32
33 env = environment() 33 env = environment()
34-- 34--
352.31.1 352.33.1
36 36
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch
deleted file mode 100644
index 5805e8b6..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0002-Remove-unused-valgrind-detection.patch
+++ /dev/null
@@ -1,110 +0,0 @@
1From d7f05d09c55d35bbe4e0f856759519ef183d9a56 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= <tim@centricular.com>
3Date: Fri, 14 Aug 2020 16:38:26 +0100
4Subject: [PATCH] Remove unused valgrind detection
5
6Having this just to log a debug message in case we're
7running inside valgrind doesn't seem very useful, and
8the code that used to use this no longer exists it seems.
9
10Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/595>
11
12Upstream-Status: Backport [a2cbf75523cdf8a4df1baa7007d86ef455972245]
13
14Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
15
16---
17 gst/gst_private.h | 2 --
18 gst/gstinfo.c | 39 ---------------------------------------
19 meson.build | 1 -
20 3 files changed, 42 deletions(-)
21
22diff --git a/gst/gst_private.h b/gst/gst_private.h
23index eefd044d9..8252ede51 100644
24--- a/gst/gst_private.h
25+++ b/gst/gst_private.h
26@@ -116,8 +116,6 @@ G_GNUC_INTERNAL gboolean _priv_plugin_deps_env_vars_changed (GstPlugin * plugin
27
28 G_GNUC_INTERNAL gboolean _priv_plugin_deps_files_changed (GstPlugin * plugin);
29
30-G_GNUC_INTERNAL gboolean _priv_gst_in_valgrind (void);
31-
32 /* init functions called from gst_init(). */
33 G_GNUC_INTERNAL void _priv_gst_quarks_initialize (void);
34 G_GNUC_INTERNAL void _priv_gst_mini_object_initialize (void);
35diff --git a/gst/gstinfo.c b/gst/gstinfo.c
36index eea1a219d..d3035d6db 100644
37--- a/gst/gstinfo.c
38+++ b/gst/gstinfo.c
39@@ -305,36 +305,6 @@ static gboolean pretty_tags = PRETTY_TAGS_DEFAULT;
40 static gint G_GNUC_MAY_ALIAS __default_level = GST_LEVEL_DEFAULT;
41 static gint G_GNUC_MAY_ALIAS __use_color = GST_DEBUG_COLOR_MODE_ON;
42
43-/* FIXME: export this? */
44-gboolean
45-_priv_gst_in_valgrind (void)
46-{
47- static enum
48- {
49- GST_VG_UNCHECKED,
50- GST_VG_NO_VALGRIND,
51- GST_VG_INSIDE
52- }
53- in_valgrind = GST_VG_UNCHECKED;
54-
55- if (in_valgrind == GST_VG_UNCHECKED) {
56-#ifdef HAVE_VALGRIND_VALGRIND_H
57- if (RUNNING_ON_VALGRIND) {
58- GST_CAT_INFO (GST_CAT_GST_INIT, "we're running inside valgrind");
59- in_valgrind = GST_VG_INSIDE;
60- } else {
61- GST_CAT_LOG (GST_CAT_GST_INIT, "not doing extra valgrind stuff");
62- in_valgrind = GST_VG_NO_VALGRIND;
63- }
64-#else
65- in_valgrind = GST_VG_NO_VALGRIND;
66-#endif
67- g_assert (in_valgrind == GST_VG_NO_VALGRIND ||
68- in_valgrind == GST_VG_INSIDE);
69- }
70- return (in_valgrind == GST_VG_INSIDE);
71-}
72-
73 static gchar *
74 _replace_pattern_in_gst_debug_file_name (gchar * name, const char *token,
75 guint val)
76@@ -463,9 +433,6 @@ _priv_gst_debug_init (void)
77 _priv_GST_CAT_PROTECTION =
78 _gst_debug_category_new ("GST_PROTECTION", 0, "protection");
79
80- /* print out the valgrind message if we're in valgrind */
81- _priv_gst_in_valgrind ();
82-
83 env = g_getenv ("GST_DEBUG_OPTIONS");
84 if (env != NULL) {
85 if (strstr (env, "full_tags") || strstr (env, "full-tags"))
86@@ -2505,12 +2472,6 @@ gst_debug_construct_win_color (guint colorinfo)
87 return 0;
88 }
89
90-gboolean
91-_priv_gst_in_valgrind (void)
92-{
93- return FALSE;
94-}
95-
96 void
97 _gst_debug_dump_mem (GstDebugCategory * cat, const gchar * file,
98 const gchar * func, gint line, GObject * obj, const gchar * msg,
99diff --git a/meson.build b/meson.build
100index 82a17282b..42ae61790 100644
101--- a/meson.build
102+++ b/meson.build
103@@ -200,7 +200,6 @@ check_headers = [
104 'sys/wait.h',
105 'ucontext.h',
106 'unistd.h',
107- 'valgrind/valgrind.h',
108 'sys/resource.h',
109 'sys/uio.h',
110 ]
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
index b77fb579..d18c19c3 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-add-support-for-install-the-tests.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0002-tests-add-support-for-install-the-tests.patch
@@ -1,4 +1,4 @@
1From c9e93c7a3e4d2773abef4f5e1464af24f36700b3 Mon Sep 17 00:00:00 2001 1From 62f5bb7bfc2498219df7280e73480d8ed2378ce5 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com> 2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 11 Apr 2021 19:48:13 +0100 3Date: Sun, 11 Apr 2021 19:48:13 +0100
4Subject: [PATCH 2/4] tests: add support for install the tests 4Subject: [PATCH 2/4] tests: add support for install the tests
@@ -11,54 +11,44 @@ Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-
11 11
12Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> 12Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
13--- 13---
14 meson.build | 5 +++++ 14 subprojects/gstreamer/meson.build | 4 ++++
15 meson_options.txt | 1 + 15 subprojects/gstreamer/meson_options.txt | 1 +
16 template.test.in | 3 +++ 16 subprojects/gstreamer/tests/check/meson.build | 22 ++++++++++++++++++-
17 tests/check/meson.build | 22 +++++++++++++++++++++- 17 .../gstreamer/tests/check/template.test.in | 3 +++
18 4 files changed, 30 insertions(+), 1 deletion(-) 18 4 files changed, 29 insertions(+), 1 deletion(-)
19 create mode 100644 template.test.in 19 create mode 100644 subprojects/gstreamer/tests/check/template.test.in
20 20
21diff --git a/meson.build b/meson.build 21diff --git a/subprojects/gstreamer/meson.build b/subprojects/gstreamer/meson.build
22index c4e8774f5..1abf4eb26 100644 22index d20fe0040f..b595d8f990 100644
23--- a/meson.build 23--- a/subprojects/gstreamer/meson.build
24+++ b/meson.build 24+++ b/subprojects/gstreamer/meson.build
25@@ -562,6 +562,11 @@ if bashcomp_dep.found() 25@@ -562,6 +562,10 @@ if bashcomp_dep.found()
26 endif 26 endif
27 endif 27 endif
28 28
29+installed_tests_enabled = get_option('installed_tests')
29+installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name()) 30+installed_tests_metadir = join_paths(datadir, 'installed-tests', meson.project_name())
30+installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name()) 31+installed_tests_execdir = join_paths(libexecdir, 'installed-tests', meson.project_name())
31+installed_tests_enabled = get_option('installed-tests')
32+installed_tests_template = files('template.test.in')
33+ 32+
34 plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0') 33 plugins_install_dir = join_paths(get_option('libdir'), 'gstreamer-1.0')
35 34
36 pkgconfig = import('pkgconfig') 35 pkgconfig = import('pkgconfig')
37diff --git a/meson_options.txt b/meson_options.txt 36diff --git a/subprojects/gstreamer/meson_options.txt b/subprojects/gstreamer/meson_options.txt
38index c8cee3762..b5da40eaa 100644 37index 7363bdb7a1..a34ba37dad 100644
39--- a/meson_options.txt 38--- a/subprojects/gstreamer/meson_options.txt
40+++ b/meson_options.txt 39+++ b/subprojects/gstreamer/meson_options.txt
41@@ -15,6 +15,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso 40@@ -15,6 +15,7 @@ option('poisoning', type : 'boolean', value : false, description : 'Enable poiso
42 option('memory-alignment', type: 'combo', 41 option('memory-alignment', type: 'combo',
43 choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'], 42 choices : ['1', '2', '4', '8', '16', '32', '64', '128', '256', '512', '1024', '2048', '4096', '8192', 'malloc', 'pagesize'],
44 value: 'malloc') 43 value: 'malloc')
45+option('installed-tests', type : 'boolean', value : false, description : 'Enable installed tests') 44+option('installed_tests', type : 'boolean', value : false, description : 'Enable installed tests')
46 45
47 # Feature options 46 # Feature options
48 option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries') 47 option('check', type : 'feature', value : 'auto', description : 'Build unit test libraries')
49diff --git a/template.test.in b/template.test.in 48diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build
50new file mode 100644 49index 506606684d..00a138a568 100644
51index 000000000..f701627f8 50--- a/subprojects/gstreamer/tests/check/meson.build
52--- /dev/null 51+++ b/subprojects/gstreamer/tests/check/meson.build
53+++ b/template.test.in
54@@ -0,0 +1,3 @@
55+[Test]
56+Type=session
57+Exec=@installed_tests_dir@/@program@
58diff --git a/tests/check/meson.build b/tests/check/meson.build
59index b2636714b..a697a7b06 100644
60--- a/tests/check/meson.build
61+++ b/tests/check/meson.build
62@@ -124,10 +124,16 @@ test_defines = [ 52@@ -124,10 +124,16 @@ test_defines = [
63 '-UG_DISABLE_ASSERT', 53 '-UG_DISABLE_ASSERT',
64 '-UG_DISABLE_CAST_CHECKS', 54 '-UG_DISABLE_CAST_CHECKS',
@@ -95,7 +85,7 @@ index b2636714b..a697a7b06 100644
95+ test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir)) 85+ test_conf.set('installed_tests_dir', join_paths(prefix, installed_tests_execdir))
96+ test_conf.set('program', test_name) 86+ test_conf.set('program', test_name)
97+ configure_file( 87+ configure_file(
98+ input: installed_tests_template, 88+ input: 'template.test.in',
99+ output: test_name + '.test', 89+ output: test_name + '.test',
100+ install_dir: installed_tests_metadir, 90+ install_dir: installed_tests_metadir,
101+ configuration: test_conf 91+ configuration: test_conf
@@ -105,6 +95,15 @@ index b2636714b..a697a7b06 100644
105 test(test_name, exe, env: env, timeout : 3 * 60) 95 test(test_name, exe, env: env, timeout : 3 * 60)
106 endif 96 endif
107 endforeach 97 endforeach
98diff --git a/subprojects/gstreamer/tests/check/template.test.in b/subprojects/gstreamer/tests/check/template.test.in
99new file mode 100644
100index 0000000000..f701627f87
101--- /dev/null
102+++ b/subprojects/gstreamer/tests/check/template.test.in
103@@ -0,0 +1,3 @@
104+[Test]
105+Type=session
106+Exec=@installed_tests_dir@/@program@
108-- 107--
1092.31.1 1082.33.1
110 109
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch
deleted file mode 100644
index e0e64e2c..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From 1db36347d05d88835519368442e9aa89c64091ad Mon Sep 17 00:00:00 2001
2From: Seungha Yang <seungha@centricular.com>
3Date: Tue, 15 Sep 2020 00:54:58 +0900
4Subject: [PATCH] tests: seek: Don't use too strict timeout for validation
5
6Expected segment-done message might not be seen within expected
7time if system is not powerful enough.
8
9Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/625>
10
11Upstream-Status: Backport [https://cgit.freedesktop.org/gstreamer/gstreamer/commit?id=f44312ae5d831438fcf8041162079c65321c588c]
12Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
13---
14 tests/check/pipelines/seek.c | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/tests/check/pipelines/seek.c b/tests/check/pipelines/seek.c
18index 28bb8846d..5f7447bc5 100644
19--- a/tests/check/pipelines/seek.c
20+++ b/tests/check/pipelines/seek.c
21@@ -521,7 +521,7 @@ GST_START_TEST (test_loopback_2)
22
23 GST_INFO ("wait for segment done message");
24
25- msg = gst_bus_timed_pop_filtered (bus, (GstClockTime) 2 * GST_SECOND,
26+ msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE,
27 GST_MESSAGE_SEGMENT_DONE | GST_MESSAGE_ERROR);
28 fail_unless (msg, "no message within the timed window");
29 fail_unless_equals_string (GST_MESSAGE_TYPE_NAME (msg), "segment-done");
30--
312.29.2
32
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch
index 46813cec..10a6dcc6 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0006-tests-use-a-dictionaries-for-environment.patch
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0003-tests-use-a-dictionaries-for-environment.patch
@@ -1,4 +1,4 @@
1From e82dedec1803922656e92285fc1bb75b2cdc0aad Mon Sep 17 00:00:00 2001 1From fe830f0f75f3b4b41e3dbef8d4cf6ee4103c9e06 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com> 2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sat, 24 Apr 2021 10:34:47 +0100 3Date: Sat, 24 Apr 2021 10:34:47 +0100
4Subject: [PATCH 3/4] tests: use a dictionaries for environment 4Subject: [PATCH 3/4] tests: use a dictionaries for environment
@@ -10,29 +10,31 @@ Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-
10 10
11Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com> 11Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
12--- 12---
13 tests/check/meson.build | 19 +++++++++++-------- 13 subprojects/gstreamer/tests/check/meson.build | 21 ++++++++++++-------
14 1 file changed, 11 insertions(+), 8 deletions(-) 14 1 file changed, 13 insertions(+), 8 deletions(-)
15 15
16diff --git a/tests/check/meson.build b/tests/check/meson.build 16diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build
17index a697a7b06..f64524904 100644 17index 00a138a568..48ec2532f8 100644
18--- a/tests/check/meson.build 18--- a/subprojects/gstreamer/tests/check/meson.build
19+++ b/tests/check/meson.build 19+++ b/subprojects/gstreamer/tests/check/meson.build
20@@ -161,14 +161,17 @@ foreach t : core_tests 20@@ -161,14 +161,19 @@ foreach t : core_tests
21 install: installed_tests_enabled, 21 install: installed_tests_enabled,
22 ) 22 )
23 23
24- env = environment() 24- env = environment()
25- env.set('GST_PLUGIN_PATH_1_0', meson.build_root()) 25- env.set('GST_PLUGIN_PATH_1_0', meson.project_build_root())
26- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '') 26- env.set('GST_PLUGIN_SYSTEM_PATH_1_0', '')
27- env.set('GST_STATE_IGNORE_ELEMENTS', '') 27- env.set('GST_STATE_IGNORE_ELEMENTS', '')
28- env.set('CK_DEFAULT_TIMEOUT', '20') 28- env.set('CK_DEFAULT_TIMEOUT', '20')
29- env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name)) 29- env.set('GST_REGISTRY', '@0@/@1@.registry'.format(meson.current_build_dir(), test_name))
30- env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner') 30- env.set('GST_PLUGIN_SCANNER_1_0', gst_scanner_dir + '/gst-plugin-scanner')
31- env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer') 31- env.set('GST_PLUGIN_LOADING_WHITELIST', 'gstreamer')
32+ # environment() can't be passed to configure_file and it is needed for installed_tests 32+ # meson environment object can't be passed to configure_file and
33+ # use a dictionary as this is simplest solution to install the environment 33+ # installed tests uses configure_file to install the environment.
34+ # use a dictionary as this is the simplest solution
35+ # to install the environment.
34+ env = { 36+ env = {
35+ 'GST_PLUGIN_PATH_1_0': meson.build_root(), 37+ 'GST_PLUGIN_PATH_1_0': meson.project_build_root(),
36+ 'GST_PLUGIN_SYSTEM_PATH_1_0': '', 38+ 'GST_PLUGIN_SYSTEM_PATH_1_0': '',
37+ 'GST_STATE_IGNORE_ELEMENTS': '', 39+ 'GST_STATE_IGNORE_ELEMENTS': '',
38+ 'CK_DEFAULT_TIMEOUT': '20', 40+ 'CK_DEFAULT_TIMEOUT': '20',
@@ -44,5 +46,5 @@ index a697a7b06..f64524904 100644
44 if installed_tests_enabled 46 if installed_tests_enabled
45 test_conf = configuration_data() 47 test_conf = configuration_data()
46-- 48--
472.31.1 492.33.1
48 50
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch
new file mode 100644
index 00000000..efa004f8
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0004-tests-add-helper-script-to-run-the-installed_tests.patch
@@ -0,0 +1,74 @@
1From 4dcbabebca2ad6f1fdd59ee35a858082e87db7b6 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 2 May 2021 01:58:01 +0100
4Subject: [PATCH 4/4] tests: add helper script to run the installed_tests
5
6- this is a bash script that will run the installed_tests
7with some of the environment variables used in the meson
8testing framework.
9
10Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
11
12Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
13---
14 subprojects/gstreamer/tests/check/meson.build | 17 +++++++++++++++++
15 .../gstreamer/tests/check/template.sh.in | 9 +++++++++
16 .../gstreamer/tests/check/template.test.in | 2 +-
17 3 files changed, 27 insertions(+), 1 deletion(-)
18 create mode 100755 subprojects/gstreamer/tests/check/template.sh.in
19
20diff --git a/subprojects/gstreamer/tests/check/meson.build b/subprojects/gstreamer/tests/check/meson.build
21index 48ec2532f8..7dc4990d4e 100644
22--- a/subprojects/gstreamer/tests/check/meson.build
23+++ b/subprojects/gstreamer/tests/check/meson.build
24@@ -185,6 +185,23 @@ foreach t : core_tests
25 install_dir: installed_tests_metadir,
26 configuration: test_conf
27 )
28+
29+ # All the tests will be deployed on the target machine and
30+ # we use the home folder ~ for the registry which will then expand at runtime.
31+ # Using the /tmp/gstreamer-1.0/@0@.registry can be problematic as it mostly
32+ # is mounted using tmpfs and if the machine crash from some reason we can lost the registry
33+ # that is useful for debug propose of the tests itself.
34+ env += {'GST_REGISTRY': '~/.cache/gstreamer-1.0/@0@.registry'.format(test_name)}
35+
36+ # Set the full path for the test it self.
37+ env += {'TEST': '@0@/@1@'.format(join_paths(prefix, installed_tests_execdir), test_name)}
38+
39+ configure_file(
40+ input : 'template.sh.in',
41+ output: test_name + '.sh',
42+ install_dir: installed_tests_execdir,
43+ configuration : env,
44+ )
45 endif
46
47 test(test_name, exe, env: env, timeout : 3 * 60)
48diff --git a/subprojects/gstreamer/tests/check/template.sh.in b/subprojects/gstreamer/tests/check/template.sh.in
49new file mode 100755
50index 0000000000..cf7d31b0ea
51--- /dev/null
52+++ b/subprojects/gstreamer/tests/check/template.sh.in
53@@ -0,0 +1,9 @@
54+#!/bin/sh
55+
56+set -ax
57+
58+CK_DEFAULT_TIMEOUT="@CK_DEFAULT_TIMEOUT@"
59+GST_PLUGIN_LOADING_WHITELIST="@GST_PLUGIN_LOADING_WHITELIST@"
60+GST_REGISTRY=@GST_REGISTRY@
61+GST_STATE_IGNORE_ELEMENTS="@GST_STATE_IGNORE_ELEMENTS@"
62+exec @TEST@
63diff --git a/subprojects/gstreamer/tests/check/template.test.in b/subprojects/gstreamer/tests/check/template.test.in
64index f701627f87..b74ef6ad73 100644
65--- a/subprojects/gstreamer/tests/check/template.test.in
66+++ b/subprojects/gstreamer/tests/check/template.test.in
67@@ -1,3 +1,3 @@
68 [Test]
69 Type=session
70-Exec=@installed_tests_dir@/@program@
71+Exec=@installed_tests_dir@/@program@.sh
72--
732.33.1
74
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch
new file mode 100644
index 00000000..f51df6d2
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0/0005-tests-remove-gstbin-test_watch_for_state_change-test.patch
@@ -0,0 +1,107 @@
1From b935abba3d8fa3ea1ce384c08e650afd8c20b78a Mon Sep 17 00:00:00 2001
2From: Claudius Heine <ch@denx.de>
3Date: Wed, 2 Feb 2022 13:47:02 +0100
4Subject: [PATCH] tests: remove gstbin:test_watch_for_state_change testcase
5
6This testcase seems to be flaky, and upstream marked it as such:
7https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/778
8
9This patch removes the testcase to avoid it interfering with out ptest.
10
11Signed-off-by: Claudius Heine <ch@denx.de>
12
13Upstream-Status: Inappropriate [needs proper upstream fix]
14---
15 tests/check/gst/gstbin.c | 69 -------------------
16 1 file changed, 69 deletions(-)
17
18diff --git a/tests/check/gst/gstbin.c b/tests/check/gst/gstbin.c
19index e366d5fe20..ac29d81474 100644
20--- a/tests/check/gst/gstbin.c
21+++ b/tests/check/gst/gstbin.c
22@@ -691,74 +691,6 @@ GST_START_TEST (test_message_state_changed_children)
23
24 GST_END_TEST;
25
26-GST_START_TEST (test_watch_for_state_change)
27-{
28- GstElement *src, *sink, *bin;
29- GstBus *bus;
30- GstStateChangeReturn ret;
31-
32- bin = gst_element_factory_make ("bin", NULL);
33- fail_unless (bin != NULL, "Could not create bin");
34-
35- bus = g_object_new (gst_bus_get_type (), NULL);
36- gst_object_ref_sink (bus);
37- gst_element_set_bus (GST_ELEMENT_CAST (bin), bus);
38-
39- src = gst_element_factory_make ("fakesrc", NULL);
40- fail_if (src == NULL, "Could not create fakesrc");
41- sink = gst_element_factory_make ("fakesink", NULL);
42- fail_if (sink == NULL, "Could not create fakesink");
43-
44- gst_bin_add (GST_BIN (bin), sink);
45- gst_bin_add (GST_BIN (bin), src);
46-
47- fail_unless (gst_element_link (src, sink), "could not link src and sink");
48-
49- /* change state, spawning two times three messages */
50- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
51- fail_unless (ret == GST_STATE_CHANGE_ASYNC);
52- ret =
53- gst_element_get_state (GST_ELEMENT (bin), NULL, NULL,
54- GST_CLOCK_TIME_NONE);
55- fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
56-
57- pop_state_changed (bus, 6);
58- pop_async_done (bus);
59- pop_latency (bus);
60-
61- fail_unless (gst_bus_have_pending (bus) == FALSE,
62- "Unexpected messages on bus");
63-
64- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PLAYING);
65- fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
66-
67- pop_state_changed (bus, 3);
68-
69- /* this one might return either SUCCESS or ASYNC, likely SUCCESS */
70- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_PAUSED);
71- gst_element_get_state (GST_ELEMENT (bin), NULL, NULL, GST_CLOCK_TIME_NONE);
72-
73- pop_state_changed (bus, 3);
74- if (ret == GST_STATE_CHANGE_ASYNC) {
75- pop_async_done (bus);
76- pop_latency (bus);
77- }
78-
79- fail_unless (gst_bus_have_pending (bus) == FALSE,
80- "Unexpected messages on bus");
81-
82- gst_bus_set_flushing (bus, TRUE);
83-
84- ret = gst_element_set_state (GST_ELEMENT (bin), GST_STATE_NULL);
85- fail_unless (ret == GST_STATE_CHANGE_SUCCESS);
86-
87- /* clean up */
88- gst_object_unref (bus);
89- gst_object_unref (bin);
90-}
91-
92-GST_END_TEST;
93-
94 GST_START_TEST (test_state_change_error_message)
95 {
96 GstElement *src, *sink, *bin;
97@@ -1956,7 +1888,6 @@ gst_bin_suite (void)
98 tcase_add_test (tc_chain, test_message_state_changed);
99 tcase_add_test (tc_chain, test_message_state_changed_child);
100 tcase_add_test (tc_chain, test_message_state_changed_children);
101- tcase_add_test (tc_chain, test_watch_for_state_change);
102 tcase_add_test (tc_chain, test_state_change_error_message);
103 tcase_add_test (tc_chain, test_add_linked);
104 tcase_add_test (tc_chain, test_add_self);
105--
1062.33.1
107
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch b/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch
deleted file mode 100644
index eabe7bcb..00000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0/0007-tests-install-the-environment-for-installed_tests.patch
+++ /dev/null
@@ -1,58 +0,0 @@
1From 57d2965e979f886e03eecd7e351bf01812053971 Mon Sep 17 00:00:00 2001
2From: Jose Quaresma <quaresma.jose@gmail.com>
3Date: Sun, 2 May 2021 01:58:01 +0100
4Subject: [PATCH 4/4] tests: install the environment for installed_tests
5
6- adapt the test environment for installed_tests
7- install the test environment for installed_tests
8- run the tests using the installed environment
9
10Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/789]
11
12Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
13---
14 template.test.in | 2 +-
15 tests/check/meson.build | 18 ++++++++++++++++++
16 2 files changed, 19 insertions(+), 1 deletion(-)
17
18diff --git a/template.test.in b/template.test.in
19index f701627f8..9a3fbdd09 100644
20--- a/template.test.in
21+++ b/template.test.in
22@@ -1,3 +1,3 @@
23 [Test]
24 Type=session
25-Exec=@installed_tests_dir@/@program@
26+Exec=sh -c 'set -aex && source @installed_tests_dir@/@program@.env && exec @installed_tests_dir@/@program@'
27diff --git a/tests/check/meson.build b/tests/check/meson.build
28index f64524904..a67e0f8dd 100644
29--- a/tests/check/meson.build
30+++ b/tests/check/meson.build
31@@ -183,6 +183,24 @@ foreach t : core_tests
32 install_dir: installed_tests_metadir,
33 configuration: test_conf
34 )
35+
36+ env += {'GST_REGISTRY': '~/.cache/gstreamer-1.0/@0@.registry'.format(test_name)}
37+ configure_file(
38+ output: test_name + '.env',
39+ install_dir: installed_tests_execdir,
40+ configuration : env,
41+ )
42+ # helper to convert a meson environment dictionay object exported with configure_file
43+ # this also remove not needed variables for the installed tests
44+ meson.add_postconf_script('sed', '-i',
45+ '-e', '/^#define/!d',
46+ '-e', 's/^#define //g',
47+ '-e', '/^GST_PLUGIN_PATH_1_0/d',
48+ '-e', '/^GST_PLUGIN_SYSTEM_PATH_1_0/d',
49+ '-e', '/^GST_PLUGIN_SCANNER_1_0/d',
50+ '-e', 's/ /=/',
51+ join_paths(meson.current_build_dir(), test_name + '.env')
52+ )
53 endif
54
55 test(test_name, exe, env: env, timeout : 3 * 60)
56--
572.31.1
58
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.imx.bb
index 3aabcf2d..3c9424e2 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0_1.18.5.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.20.0.imx.bb
@@ -3,7 +3,7 @@
3# recipe. The second section customizes the recipe for i.MX. 3# recipe. The second section customizes the recipe for i.MX.
4 4
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: bb6ddc3691ab04162ec5fd69a2d5e7876713fd15 6# Upstream hash: a21649109374fde44cf77de845cfb3cb6cbfb138
7 7
8SUMMARY = "GStreamer 1.0 multimedia framework" 8SUMMARY = "GStreamer 1.0 multimedia framework"
9DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \ 9DESCRIPTION = "GStreamer is a multimedia framework for encoding and decoding video and sound. \
@@ -11,28 +11,26 @@ It supports a wide range of formats including mp3, ogg, avi, mpeg and quicktime.
11HOMEPAGE = "http://gstreamer.freedesktop.org/" 11HOMEPAGE = "http://gstreamer.freedesktop.org/"
12BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer" 12BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
13SECTION = "multimedia" 13SECTION = "multimedia"
14LICENSE = "LGPL-2.0-or-later" 14LICENSE = "LGPL-2.1-or-later"
15 15
16DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native" 16DEPENDS = "glib-2.0 glib-2.0-native libxml2 bison-native flex-native"
17 17
18inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome 18inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection ptest-gnome
19 19
20LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ 20LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
21 file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d" 21 file://gst/gst.h;beginline=1;endline=21;md5=e059138481205ee2c6fc1c079c016d0d"
22 22
23S = "${WORKDIR}/gstreamer-${PV}" 23S = "${WORKDIR}/gstreamer-${PV}"
24 24
25SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ 25SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
26 file://run-ptest \ 26 file://run-ptest \
27 file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ 27 file://0001-tests-respect-the-idententaion-used-in-meson.patch;striplevel=3 \
28 file://0002-Remove-unused-valgrind-detection.patch \ 28 file://0002-tests-add-support-for-install-the-tests.patch;striplevel=3 \
29 file://0003-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch \ 29 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
30 file://0004-tests-respect-the-idententaion-used-in-meson.patch \ 30 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
31 file://0005-tests-add-support-for-install-the-tests.patch \ 31 file://0005-tests-remove-gstbin-test_watch_for_state_change-test.patch \
32 file://0006-tests-use-a-dictionaries-for-environment.patch \
33 file://0007-tests-install-the-environment-for-installed_tests.patch \
34 " 32 "
35SRC_URI[sha256sum] = "9aeec99b38e310817012aa2d1d76573b787af47f8a725a65b833880a094dfbc5" 33SRC_URI[sha256sum] = "de094a404a3ad8f4977829ea87edf695a4da0b5c8f613ebe54ab414bac89f031"
36 34
37PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ 35PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \
38 check \ 36 check \
@@ -43,7 +41,7 @@ PACKAGECONFIG[debug] = "-Dgst_debug=true,-Dgst_debug=false"
43PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false" 41PACKAGECONFIG[tracer-hooks] = "-Dtracer_hooks=true,-Dtracer_hooks=false"
44PACKAGECONFIG[coretracers] = "-Dcoretracers=enabled,-Dcoretracers=disabled" 42PACKAGECONFIG[coretracers] = "-Dcoretracers=enabled,-Dcoretracers=disabled"
45PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled" 43PACKAGECONFIG[check] = "-Dcheck=enabled,-Dcheck=disabled"
46PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled-tests=true,-Dtests=disabled -Dinstalled-tests=false" 44PACKAGECONFIG[tests] = "-Dtests=enabled -Dinstalled_tests=true,-Dtests=disabled -Dinstalled_tests=false"
47PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" 45PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
48PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils" 46PACKAGECONFIG[dw] = "-Dlibdw=enabled,-Dlibdw=disabled,elfutils"
49PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion" 47PACKAGECONFIG[bash-completion] = "-Dbash-completion=enabled,-Dbash-completion=disabled,bash-completion"
@@ -89,10 +87,10 @@ DEFAULT_PREFERENCE = "-1"
89 87
90# Use i.MX fork of GST for customizations 88# Use i.MX fork of GST for customizations
91SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz" 89SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz"
92GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https"
93SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
94SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " 90SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
95SRCREV = "a55998c70940bd183d25d29e1b82fd3bc9f43df3" 91GST1.0_SRC ?= "gitsm://source.codeaurora.org/external/imx/gstreamer.git;protocol=https"
92SRCBRANCH = "MM_04.07.00_2205_L5.15.y"
93SRCREV = "7afc123bc6974d68795f97466eb83ec7a093fb9b"
96 94
97S = "${WORKDIR}/git" 95S = "${WORKDIR}/git"
98 96
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.0.bb
index ab8117b3..585113a4 100644
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.6.4.bb
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_4.7.0.bb
@@ -22,12 +22,9 @@ RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
22LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ 22LIC_FILES_CHKSUM = "file://COPYING-LGPL-2;md5=5f30f0716dfdd0d91eb439ebec522ec2 \
23 file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" 23 file://COPYING-LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
24 24
25SRCBRANCH = "MM_04.06.04_2112_L5.15.y"
26
27
28
29SRC_URI = "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}" 25SRC_URI = "git://source.codeaurora.org/external/imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH}"
30SRCREV = "f4b3105ab33e608c717855cdd1a520b60f377bf3" 26SRCBRANCH = "MM_04.07.00_2205_L5.15.y"
27SRCREV = "d0b26997556983c99d7b3e7663577f090df36240"
31 28
32S = "${WORKDIR}/git" 29S = "${WORKDIR}/git"
33 30
diff --git a/recipes-multimedia/imx-codec/imx-codec_4.6.2.bb b/recipes-multimedia/imx-codec/imx-codec_4.7.0.bb
index 3e142694..e192c64d 100644
--- a/recipes-multimedia/imx-codec/imx-codec_4.6.2.bb
+++ b/recipes-multimedia/imx-codec/imx-codec_4.7.0.bb
@@ -5,29 +5,28 @@
5DESCRIPTION = "Freescale Multimedia codec libs" 5DESCRIPTION = "Freescale Multimedia codec libs"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7SECTION = "multimedia" 7SECTION = "multimedia"
8LIC_FILES_CHKSUM = "file://COPYING;md5=e565271ec9a80ce47abbddc4bffe56fa" 8LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011"
9 9
10# Backward compatibility 10# Backward compatibility
11PROVIDES += "libfslcodec" 11PROVIDES += "libfslcodec"
12 12
13SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" 13SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true"
14SRC_URI[md5sum] = "309cae6f73a777f6e5a89831acf622ee" 14SRC_URI[md5sum] = "5041d6e438c7779dcb424aedc11dd3ef"
15SRC_URI[sha256sum] = "7b070ab3f1762accee2806e7aba4146ef5242c67a8cd88fb90dacfc1c8b3ef5e" 15SRC_URI[sha256sum] = "71bcb80bda44a326704d18b2e828b03c6f70792a4bf0686abc223657061df89b"
16 16
17inherit fsl-eula-unpack autotools pkgconfig 17inherit fsl-eula-unpack autotools pkgconfig
18 18
19PACKAGECONFIG ??= "${PACKAGECONFIG_VPU}"
20# Support Chips&Media VPU only
21PACKAGECONFIG_VPU = ""
22PACKAGECONFIG_VPU:mx6q-nxp-bsp = "vpu"
23PACKAGECONFIG_VPU:mx6dl-nxp-bsp = "vpu"
24PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,virtual/imxvpu"
25
19# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point 26# Choose between 32-bit and 64-bit binaries and between Soft Float-Point and Hard Float-Point
20EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \ 27EXTRA_OECONF = "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', \
21 bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d), d)}" 28 bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--enable-fhw', '', d), d)}"
22 29
23PACKAGECONFIG ?= ""
24PACKAGECONFIG:imxvpu = "vpu"
25
26# We need to ensure we don't have '-src' package overrided
27PACKAGE_DEBUG_SPLIT_STYLE = 'debug-without-src'
28
29PACKAGECONFIG[vpu] = "--enable-vpu,--disable-vpu,virtual/imxvpu"
30
31do_install:append() { 30do_install:append() {
32 # LTIB move the files around or gst-fsl-plugin won't find them 31 # LTIB move the files around or gst-fsl-plugin won't find them
33 for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do 32 for p in $(find ${D}${libdir}/imx-mm -mindepth 2 -maxdepth 2 -not -type d); do
@@ -52,7 +51,7 @@ python __set_insane_skip() {
52 # the source we cannot fix it. Disable the insane check for now. 51 # the source we cannot fix it. Disable the insane check for now.
53 if p == 'imx-codec-test-bin': 52 if p == 'imx-codec-test-bin':
54 # FIXME: includes the DUT .so files so we need to deploy those 53 # FIXME: includes the DUT .so files so we need to deploy those
55 d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel libdir file-rdeps") 54 d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel libdir")
56 else: 55 else:
57 d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel") 56 d.setVar("INSANE_SKIP:%s" % p, "ldflags textrel")
58} 57}
@@ -90,6 +89,9 @@ python __set_metapkg_rdepends() {
90 89
91PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends" 90PACKAGESPLITFUNCS =+ "__split_libfslcodec_plugins __set_metapkg_rdepends"
92 91
92# We need to ensure we don't have '-src' package overrided
93PACKAGE_DEBUG_SPLIT_STYLE = 'debug-without-src'
94
93PACKAGES_DYNAMIC = "${PN}-*" 95PACKAGES_DYNAMIC = "${PN}-*"
94INHIBIT_PACKAGE_STRIP = "1" 96INHIBIT_PACKAGE_STRIP = "1"
95INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 97INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
@@ -115,5 +117,5 @@ FILES:${PN}-oggvorbis += "${libdir}/imx-mm/audio-codec/wrap/lib_vorbisd_wrap_arm
115FILES:${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*" 117FILES:${PN}-nb += "${libdir}/imx-mm/audio-codec/wrap/lib_nbamrd_wrap_arm*_elinux.so.*"
116FILES:${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*" 118FILES:${PN}-wb += "${libdir}/imx-mm/audio-codec/wrap/lib_wbamrd_wrap_arm*_elinux.so.*"
117 119
118PACKAGE_ARCH = "${MACHINE_ARCH}" 120PACKAGE_ARCH = "${MACHINE_SOCARCH}"
119COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 121COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_1.2.0.bb b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.0.bb
index 470fb7fa..f383615d 100644
--- a/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_1.2.0.bb
+++ b/recipes-multimedia/imx-dsp/imx-dsp-codec-ext_2.0.0.bb
@@ -2,14 +2,14 @@
2 2
3DESCRIPTION = "i.MX DSP Codec Wrapper and Lib owned by NXP" 3DESCRIPTION = "i.MX DSP Codec Wrapper and Lib owned by NXP"
4LICENSE = "Proprietary" 4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f" 5LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011"
6 6
7inherit fsl-eula-unpack autotools pkgconfig 7inherit fsl-eula-unpack autotools pkgconfig
8 8
9SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 9SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
10 10
11SRC_URI[md5sum] = "9e1d0e06f4fed47a37cb390e135f453f" 11SRC_URI[md5sum] = "371a550b9ade88cf355d45c68813f375"
12SRC_URI[sha256sum] = "2703a9dc619a2ac32352d65cfa58f8217e65abcabd33b77b0be02425dc896ae2" 12SRC_URI[sha256sum] = "4307c0a625c73a1a1e5ab321834488d52471c434807ab81b9dd038b4cff5903b"
13 13
14# Fix strip command failed: 'Unable to recognise the format of the input file' 14# Fix strip command failed: 'Unable to recognise the format of the input file'
15INHIBIT_PACKAGE_STRIP = "1" 15INHIBIT_PACKAGE_STRIP = "1"
diff --git a/recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb b/recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb
deleted file mode 100644
index bfa279a0..00000000
--- a/recipes-multimedia/imx-dsp/imx-dsp_1.2.0.bb
+++ /dev/null
@@ -1,45 +0,0 @@
1# Copyright 2017-2021 NXP
2
3DESCRIPTION = "i.MX DSP Wrapper, Firmware Binary, Codec Libraries"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f"
6
7inherit fsl-eula-unpack autotools pkgconfig
8
9SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
10
11SRC_URI[md5sum] = "238d3f0256573ca657228d7090bcb7d3"
12SRC_URI[sha256sum] = "13f67f267d6d33e8be2a6c258a46cde3667258ac86435776cbf1a370de611476"
13
14EXTRA_OECONF += " \
15 -datadir=${base_libdir}/firmware --bindir=/unit_tests \
16 ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', ' ', d)} \
17"
18
19RDEPENDS:${PN} += " imx-dsp-codec-ext"
20
21HIFI4_BIN ?= "hifi4_imx8qmqxp.bin"
22HIFI4_BIN:mx8mp-nxp-bsp = "hifi4_imx8mp.bin"
23HIFI4_BIN:mx8ulp-nxp-bsp = "hifi4_imx8ulp.bin"
24
25do_install:append () {
26 # Rename DSP Firmware into hifi4.bin and remove unneeded binary
27 mv ${D}/lib/firmware/imx/dsp/${HIFI4_BIN} ${D}/lib/firmware/imx/dsp/hifi4.bin
28 find ${D}/lib/firmware/imx/dsp -name hifi4_*.bin -exec rm {} \;
29}
30
31FILES:${PN} = "${libdir}/imx-mm/audio-codec/dsp \
32 ${libdir}/imx-mm/audio-codec/wrap \
33 ${base_libdir}/firmware/imx/dsp \
34 /unit_tests \
35"
36
37INSANE_SKIP:${PN} = "already-stripped arch ldflags dev-so"
38
39# Fix strip command failed: 'Unable to recognise the format of the input file'
40INHIBIT_PACKAGE_STRIP = "1"
41INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
42INHIBIT_SYSROOT_STRIP = "1"
43
44PACKAGE_ARCH = "${MACHINE_ARCH}"
45COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)"
diff --git a/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb b/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb
new file mode 100644
index 00000000..168ec603
--- /dev/null
+++ b/recipes-multimedia/imx-dsp/imx-dsp_2.0.0.bb
@@ -0,0 +1,57 @@
1# Copyright 2017-2022 NXP
2
3DESCRIPTION = "i.MX DSP Wrapper, Firmware Binary, Codec Libraries"
4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011"
6
7inherit fsl-eula-unpack autotools pkgconfig
8
9SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
10
11SRC_URI[md5sum] = "34f77ef1078b842e4cd67dc87c4c35a1"
12SRC_URI[sha256sum] = "c484a29ab880e8f7ec84d7df736bfa37817c41e64802f07140e9752ba9cd7956"
13
14EXTRA_OECONF = " \
15 -datadir=${base_libdir}/firmware \
16 --bindir=/unit_tests \
17 ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--enable-armv8', '', d)} \
18"
19
20RDEPENDS:${PN} += " imx-dsp-codec-ext"
21
22HIFI4_PLATFORM ?= "HIFI4_PLATFORM_IS_UNDEFINED"
23HIFI4_PLATFORM:mx8qm-nxp-bsp = "imx8qmqxp"
24HIFI4_PLATFORM:mx8qxp-nxp-bsp = "imx8qmqxp"
25HIFI4_PLATFORM:mx8dx-nxp-bsp = "imx8qmqxp"
26HIFI4_PLATFORM:mx8mp-nxp-bsp = "imx8mp"
27HIFI4_PLATFORM:mx8ulp-nxp-bsp = "imx8ulp"
28
29UNSUPPORTED_TESTS = "dsp_tflm"
30UNSUPPORTED_TESTS:mx8ulp-nxp-bsp = ""
31
32do_install:append () {
33 # Remove firmware not for this platform
34 find ${D}/${base_libdir}/firmware/imx/dsp -name hifi4_*.bin -not -name *${HIFI4_PLATFORM}* -exec rm {} \;
35 # Set the expected generic name for the firmware
36 mv ${D}/${base_libdir}/firmware/imx/dsp/hifi4_${HIFI4_PLATFORM}.bin ${D}/${base_libdir}/firmware/imx/dsp/hifi4.bin
37 # Remove unit tests not for this platform
38 for unsupported_test in ${UNSUPPORTED_TESTS}; do
39 find ${D}/unit_tests/DSP -name $unsupported_test* -exec rm {} \;
40 done
41}
42
43FILES:${PN} = "${libdir}/imx-mm/audio-codec/dsp \
44 ${libdir}/imx-mm/audio-codec/wrap \
45 ${base_libdir}/firmware/imx/dsp \
46 /unit_tests \
47"
48
49INSANE_SKIP:${PN} = "already-stripped arch ldflags dev-so"
50
51# Fix strip command failed: 'Unable to recognise the format of the input file'
52INHIBIT_PACKAGE_STRIP = "1"
53INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
54INHIBIT_SYSROOT_STRIP = "1"
55
56PACKAGE_ARCH = "${MACHINE_ARCH}"
57COMPATIBLE_MACHINE = "(mx8qm-nxp-bsp|mx8qxp-nxp-bsp|mx8dx-nxp-bsp|mx8mp-nxp-bsp|mx8ulp-nxp-bsp)"
diff --git a/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
index 7bf6d932..48be837a 100644
--- a/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
+++ b/recipes-multimedia/imx-dspc-asrc/imx-dspc-asrc_1.0.1.bb
@@ -4,7 +4,7 @@ LICENSE = "Proprietary"
4SECTION = "multimedia" 4SECTION = "multimedia"
5LIC_FILES_CHKSUM = "file://COPYING;md5=72c0f70181bb6e83eee6aab8de12a9f3" 5LIC_FILES_CHKSUM = "file://COPYING;md5=72c0f70181bb6e83eee6aab8de12a9f3"
6 6
7SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" 7SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
8 8
9SRC_URI[md5sum] = "d46005ee29ca603caa2e1b1e82953ff1" 9SRC_URI[md5sum] = "d46005ee29ca603caa2e1b1e82953ff1"
10SRC_URI[sha256sum] = "e79cbf4788a86a0068bbe80c37317e3332ae76e3d5c3ff2eabd71f03121fab6a" 10SRC_URI[sha256sum] = "e79cbf4788a86a0068bbe80c37317e3332ae76e3d5c3ff2eabd71f03121fab6a"
diff --git a/recipes-multimedia/imx-parser/imx-parser_4.6.2.bb b/recipes-multimedia/imx-parser/imx-parser_4.7.0.bb
index 847734a4..55402bb6 100644
--- a/recipes-multimedia/imx-parser/imx-parser_4.6.2.bb
+++ b/recipes-multimedia/imx-parser/imx-parser_4.7.0.bb
@@ -1,11 +1,11 @@
1# Copyright (C) 2012-2018 O.S. Systems Software LTDA. 1# Copyright (C) 2012-2018 O.S. Systems Software LTDA.
2# Copyright (C) 2012-2016 Freescale Semiconductor 2# Copyright (C) 2012-2016 Freescale Semiconductor
3# Copyright (C) 2017, 2019 NXP 3# Copyright (C) 2017-2021 NXP
4# Released under the MIT license (see COPYING.MIT for the terms) 4# Released under the MIT license (see COPYING.MIT for the terms)
5DESCRIPTION = "Freescale Multimedia parser libs" 5DESCRIPTION = "Freescale Multimedia parser libs"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7SECTION = "multimedia" 7SECTION = "multimedia"
8LIC_FILES_CHKSUM = "file://COPYING;md5=e565271ec9a80ce47abbddc4bffe56fa" 8LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011"
9 9
10# For backwards compatibility 10# For backwards compatibility
11PROVIDES += "libfslparser" 11PROVIDES += "libfslparser"
@@ -13,9 +13,9 @@ RREPLACES:${PN} = "libfslparser"
13RPROVIDES:${PN} = "libfslparser" 13RPROVIDES:${PN} = "libfslparser"
14RCONFLICTS:${PN} = "libfslparser" 14RCONFLICTS:${PN} = "libfslparser"
15 15
16SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" 16SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
17SRC_URI[md5sum] = "987437601084e0fec59e0dbece9cf46b" 17SRC_URI[md5sum] = "5054251389f43702fd29da9668bd3dea"
18SRC_URI[sha256sum] = "5c26f1e71ab821ef36b60fb8b6df9a3a85418e3eebc87298c4f6bee4abbc4abd" 18SRC_URI[sha256sum] = "caf2757baa936ffe0e992f8e6c3121932f5b497cebfbf20048ba93b26626c4d7"
19 19
20inherit fsl-eula-unpack autotools pkgconfig 20inherit fsl-eula-unpack autotools pkgconfig
21 21
diff --git a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.2.bb
index d1fc1f76..3d557207 100644
--- a/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.1.bb
+++ b/recipes-multimedia/imx-sw-pdm/imx-sw-pdm_1.0.2.bb
@@ -3,11 +3,11 @@
3DESCRIPTION = "NXP PDM to PCM Software Decimation SIMD Library" 3DESCRIPTION = "NXP PDM to PCM Software Decimation SIMD Library"
4LICENSE = "Proprietary" 4LICENSE = "Proprietary"
5SECTION = "multimedia" 5SECTION = "multimedia"
6LIC_FILES_CHKSUM = "file://COPYING;md5=983e4c77621568488dd902b27e0c2143" 6LIC_FILES_CHKSUM = "file://COPYING;md5=03bcadc8dc0a788f66ca9e2b89f56c6f"
7 7
8SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true" 8SRC_URI = "${FSL_MIRROR}/${BP}.bin;fsl-eula=true"
9SRC_URI[md5sum] = "65d5b2cb378f96a5cb4577925eda236b" 9SRC_URI[md5sum] = "af01428c2971af339d0308f4aca1dac0"
10SRC_URI[sha256sum] = "68fca50d8f7526127ee5650e9002b3f9479b197f3085c68a97f7957f50ec5e5b" 10SRC_URI[sha256sum] = "d310ef581f9e6e6d726c5dc8998178b7993680b5552c45561e56ac0e927b6d9c"
11 11
12inherit fsl-eula-unpack autotools pkgconfig 12inherit fsl-eula-unpack autotools pkgconfig
13 13
diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.6.2.bb b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
index 24af9e2b..240eab49 100644
--- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_4.6.2.bb
+++ b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
@@ -1,19 +1,18 @@
1# Copyright (C) 2013-2016 Freescale Semiconductor 1# Copyright (C) 2013-2016 Freescale Semiconductor
2# Copyright (C) 2017-2020 NXP 2# Copyright (C) 2017-2021 NXP
3# Released under the MIT license (see COPYING.MIT for the terms) 3# Released under the MIT license (see COPYING.MIT for the terms)
4 4
5DESCRIPTION = "Freescale Multimedia VPU wrapper" 5DESCRIPTION = "Freescale Multimedia VPU wrapper"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7SECTION = "multimedia" 7SECTION = "multimedia"
8LIC_FILES_CHKSUM = "file://COPYING;md5=e565271ec9a80ce47abbddc4bffe56fa" 8LIC_FILES_CHKSUM = "file://COPYING;md5=d3c315c6eaa43e07d8c130dc3a04a011"
9 9
10DEPENDS = "virtual/imxvpu" 10DEPENDS = "virtual/imxvpu"
11DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" 11DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
12 12
13SRC_URI = "git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH}" 13SRC_URI = "git://github.com/NXP/imx-vpuwrap.git;protocol=https;branch=${SRCBRANCH}"
14 14SRCBRANCH = "MM_04.07.00_2205_L5.15.y"
15SRCBRANCH = "MM_04.06.02_2108_L5.10.y" 15SRCREV = "0e417b0ade3e55b5fb639d20c419b05aa31ab329"
16SRCREV = "f09ceba7bcf733b1b27e57462496d3b81ca28e50"
17 16
18S = "${WORKDIR}/git" 17S = "${WORKDIR}/git"
19 18
diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch
new file mode 100644
index 00000000..12a04cb7
--- /dev/null
+++ b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch
@@ -0,0 +1,32 @@
1From c21e24f5c53e81fc715905c54a6c82b69e397e63 Mon Sep 17 00:00:00 2001
2From: "shengjiu.wang" <b02247@freescale.com>
3Date: Thu, 3 Apr 2014 14:22:02 +0800
4Subject: [PATCH] Fix pulseaudio mutex issue when do pause in gstreamer
5
6The error log is "Assertion 'pthread_mutex_unlock(&m->mutex) == 0'
7failed at pulsecore/mutex-posix.c:106, function pa_mutex_unlock(). Aborting"
8
9This fix is a workaround base on the solution from this link "
10https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/932096"
11
12Upstream status: Inappropriate [i.MX specific]
13Signed-off-by: shengjiu.wang <b02247@freescale.com>
14---
15 src/pulsecore/mutex-posix.c | 1 +
16 1 file changed, 1 insertion(+)
17
18diff --git a/src/pulsecore/mutex-posix.c b/src/pulsecore/mutex-posix.c
19index 36c2787..d592501 100644
20--- a/src/pulsecore/mutex-posix.c
21+++ b/src/pulsecore/mutex-posix.c
22@@ -30,6 +30,7 @@
23 #include <pulsecore/macro.h>
24
25 #include "mutex.h"
26+#undef HAVE_PTHREAD_PRIO_INHERIT
27
28 struct pa_mutex {
29 pthread_mutex_t mutex;
30--
311.7.9.5
32
diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch
index 57c28741..57c28741 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/pulseaudio-remove-the-control-for-speaker-headphone-widge.patch
+++ b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch
diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf
index 9eb954bb..b9f533a0 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf
+++ b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/daemon.conf
@@ -76,6 +76,8 @@ rlimit-rttime = 4000000
76; default-sample-format = s16le 76; default-sample-format = s16le
77; default-sample-rate = 44100 77; default-sample-rate = 44100
78; alternate-sample-rate = 48000 78; alternate-sample-rate = 48000
79# Disable alternate-sample-rate by setting same as default
80alternate-sample-rate = 44100
79; default-sample-channels = 2 81; default-sample-channels = 2
80; default-channel-map = front-left,front-right 82; default-channel-map = front-left,front-right
81 83
diff --git a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa
index 83a6ba8d..b6c646b9 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa
+++ b/recipes-multimedia/pulseaudio/pulseaudio/imx-nxp-bsp/default.pa
@@ -72,7 +72,7 @@ load-module module-bluetooth-policy
72.endif 72.endif
73 73
74.ifexists module-bluetooth-discover.so 74.ifexists module-bluetooth-discover.so
75load-module module-bluetooth-discover 75load-module module-bluetooth-discover headset=auto
76.endif 76.endif
77 77
78### Load several protocols 78### Load several protocols
diff --git a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
index c7a4292e..69a9ec6b 100644
--- a/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
+++ b/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend
@@ -1,13 +1,18 @@
1
2CACHED_CONFIGUREVARS:append:mx6-nxp-bsp = " ax_cv_PTHREAD_PRIO_INHERIT=no"
3
4FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/imx-nxp-bsp:" 1FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}/imx-nxp-bsp:"
5 2
6SRC_URI:append:mx6-nxp-bsp = " file://daemon.conf file://default.pa" 3SRC_URI += "${SRC_URI_IMX}"
7SRC_URI:append:mx7-nxp-bsp = " file://daemon.conf file://default.pa \ 4SRC_URI_IMX = ""
8 file://pulseaudio-remove-the-control-for-speaker-headphone-widge.patch \ 5SRC_URI_IMX:mx6-nxp-bsp = " \
9" 6 file://0001-Fix-pulseaudio-mutex-issue-when-do-pause-in-gstreame.patch \
10SRC_URI:append:mx8-nxp-bsp = " file://daemon.conf file://default.pa" 7 file://daemon.conf \
8 file://default.pa"
9SRC_URI_IMX:mx7-nxp-bsp = " \
10 ${SRC_URI_IMX:mx6-nxp-bsp} \
11 file://0100-pulseaudio-remove-the-control-for-speaker-headphone-widge.patch"
12SRC_URI_IMX:mx8-nxp-bsp = " \
13 ${SRC_URI_IMX:mx6-nxp-bsp}"
14
15CACHED_CONFIGUREVARS:append:mx6-nxp-bsp = " ax_cv_PTHREAD_PRIO_INHERIT=no"
11 16
12do_install:append() { 17do_install:append() {
13 if [ -e "${WORKDIR}/daemon.conf" ] && [ -e "${WORKDIR}/default.pa" ]; then 18 if [ -e "${WORKDIR}/daemon.conf" ] && [ -e "${WORKDIR}/default.pa" ]; then