summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2026-03-25 08:35:40 -0300
committerGitHub <noreply@github.com>2026-03-25 08:35:40 -0300
commitbb90caa4aa6c88df71f36a1194bf19f2c724d835 (patch)
tree26870453575d631fd5cc1b9874f59d7e15440c32
parent831eb3251f74c6f478db4503bfe5aacde340833b (diff)
parent2a24b8ec37404e9dd22e136faf44d35e55e2b89d (diff)
downloadmeta-freescale-bb90caa4aa6c88df71f36a1194bf19f2c724d835.tar.gz
Merge pull request #2473 from nxp-upstream/multimedia-upgrade-to-6.18.2
Multimedia: Upgrade to 6.18.2
-rw-r--r--conf/machine/include/imx-base.inc28
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-YOCIMX-9095-pipewiresrc-set-rank-to-secondary.patch31
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch41
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-systemd-allow-pipewire-user-services-for-root.patch41
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0003-pipewiresrc-update-per-plane-stride-and-offset-accor.patch51
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend12
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/0001-wpctl-fix-set-default-Segmentation-fault-on-32bit-pl.patch33
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/51-bluez-imx.conf16
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/80-disable-logind.conf6
-rw-r--r--dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/wireplumber_%.bbappend18
-rw-r--r--recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc/0001-base_type.h-make-header-compatible-with-c23.patch39
-rw-r--r--recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.11.0.bb (renamed from recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.10.1.bb)13
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.9.0.bb (renamed from recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.5.0.bb)4
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-basetype.h-make-header-compatible-with-c23.patch38
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-test-md5-convert-to-ansi-c.patch90
-rw-r--r--recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.40.0.bb (renamed from recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb)12
-rw-r--r--recipes-multimedia/alsa/imx-alsa-plugins_git.bb9
-rw-r--r--recipes-multimedia/bluealsa/bluealsa_%.bbappend1
-rw-r--r--recipes-multimedia/gstreamer/gst-devtools_1.26.6.bb (renamed from recipes-multimedia/gstreamer/gst-devtools_1.26.0.imx.bb)18
-rw-r--r--recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch37
-rw-r--r--recipes-multimedia/gstreamer/gst-examples/gst-player.desktop10
-rw-r--r--recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb38
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.6.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.0.imx.bb)12
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch30
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch33
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.26.6.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.26.0.imx.bb)27
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch67
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.6.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.0.imx.bb)13
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.6.imx.bbappend (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.0.imx.bbappend)0
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc47
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26.6.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26.0.imx.bb)14
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb66
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc19
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc73
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.6.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.0.imx.bb)17
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.6.bbappend (renamed from recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.0.imx.bbappend)0
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.6.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.0.imx.bb)12
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-YOCIMX-9113-rtsp-examples-install-test-launch-and-te.patch63
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.6.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.0.imx.bb)24
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-vaapi_%.bbappend1
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.6.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.0.imx.bb)10
-rw-r--r--recipes-multimedia/gstreamer/gstreamer1.0_1.26.6.imx.bb (renamed from recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.imx.bb)16
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-gplay2-fix-termio.h-no-longer-existing.patch35
-rw-r--r--recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb29
-rw-r--r--recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.11.0.bb (renamed from recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.8.0.bb)6
-rw-r--r--recipes-multimedia/imx-parser/imx-parser_4.10.3.bb (renamed from recipes-multimedia/imx-parser/imx-parser_4.10.0.bb)6
-rw-r--r--recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb9
-rw-r--r--recipes-multimedia/libcamera/libcamera_0.6.0.imx.bb115
-rw-r--r--recipes-multimedia/libcamera/neo-ipa-uguzzi_0.2.6.bb35
-rw-r--r--recipes-multimedia/nxp-afe/nxp-afe-voiceseeker_git.bb9
-rw-r--r--recipes-multimedia/nxp-afe/nxp-afe_git.bb13
51 files changed, 693 insertions, 694 deletions
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 13fe9d6ff..564557feb 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -526,20 +526,28 @@ MACHINE_GSTREAMER_1_0_PLUGIN:mx8ulp-nxp-bsp ?= "imx-gst1.0-plugin"
526MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin" 526MACHINE_GSTREAMER_1_0_PLUGIN:mx93-nxp-bsp ?= "imx-gst1.0-plugin"
527 527
528# GStreamer forked recipes 528# GStreamer forked recipes
529PREFERRED_VERSION_gstreamer1.0:imx-nxp-bsp ??= "1.26.0.imx" 529PREFERRED_VERSION_gstreamer1.0:imx-nxp-bsp ??= "1.26.6.imx"
530PREFERRED_VERSION_gstreamer1.0-plugins-bad:imx-nxp-bsp ??= "1.26.0.imx" 530PREFERRED_VERSION_gstreamer1.0-plugins-bad:imx-nxp-bsp ??= "1.26.6.imx"
531PREFERRED_VERSION_gstreamer1.0-plugins-base:imx-nxp-bsp ??= "1.26.0.imx" 531PREFERRED_VERSION_gstreamer1.0-plugins-base:imx-nxp-bsp ??= "1.26.6.imx"
532PREFERRED_VERSION_gstreamer1.0-plugins-good:imx-nxp-bsp ??= "1.26.0.imx" 532PREFERRED_VERSION_gstreamer1.0-plugins-good:imx-nxp-bsp ??= "1.26.6.imx"
533 533
534 534
535# GStreamer copied recipes 535# GStreamer copied recipes
536PREFERRED_VERSION_gst-devtools:imx-nxp-bsp ??= "1.26.0.imx" 536PREFERRED_VERSION_gst-devtools:imx-nxp-bsp ??= "1.26.6.imx"
537PREFERRED_VERSION_gst-examples:imx-nxp-bsp ??= "1.24.7.imx" 537PREFERRED_VERSION_gst-examples:imx-nxp-bsp ??= "1.24.7.imx"
538PREFERRED_VERSION_gstreamer1.0-libav:imx-nxp-bsp ??= "1.26.0.imx" 538PREFERRED_VERSION_gstreamer1.0-libav:imx-nxp-bsp ??= "1.26.6.imx"
539PREFERRED_VERSION_gstreamer1.0-plugins-ugly:imx-nxp-bsp ??= "1.26.0.imx" 539PREFERRED_VERSION_gstreamer1.0-plugins-ugly:imx-nxp-bsp ??= "1.26.6.imx"
540PREFERRED_VERSION_gstreamer1.0-python:imx-nxp-bsp ??= "1.26.0.imx" 540PREFERRED_VERSION_gstreamer1.0-python:imx-nxp-bsp ??= "1.26.6.imx"
541PREFERRED_VERSION_gstreamer1.0-rtsp-server:imx-nxp-bsp ??= "1.26.0.imx" 541PREFERRED_VERSION_gstreamer1.0-rtsp-server:imx-nxp-bsp ??= "1.26.6.imx"
542PREFERRED_VERSION_gstreamer1.0-vaapi:imx-nxp-bsp ??= "1.26.0.imx" 542PREFERRED_VERSION_gstreamer1.0-vaapi:imx-nxp-bsp ??= "1.26.6.imx"
543
544# Use libcamera fork for certain SOCs
545PREFERRED_VERSION_libcamera ??= "${PREFERRED_VERSION_LIBCAMERA_IMX}"
546PREFERRED_VERSION_LIBCAMERA_IMX = ""
547PREFERRED_VERSION_LIBCAMERA_IMX:mx95-nxp-bsp = "0.6.0.imx"
548PREFERRED_VERSION_LIBCAMERA_IMX:mx8mm-nxp-bsp = "0.6.0.imx"
549PREFERRED_VERSION_LIBCAMERA_IMX:mx8ulp-nxp-bsp = "0.6.0.imx"
550PREFERRED_VERSION_LIBCAMERA_IMX:mx8mq-nxp-bsp = "0.6.0.imx"
543 551
544# Determines if the SoC has support for Vivante kernel driver 552# Determines if the SoC has support for Vivante kernel driver
545SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT = "0" 553SOC_HAS_VIVANTE_KERNEL_DRIVER_SUPPORT = "0"
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-YOCIMX-9095-pipewiresrc-set-rank-to-secondary.patch b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-YOCIMX-9095-pipewiresrc-set-rank-to-secondary.patch
new file mode 100644
index 000000000..bf41f1b4b
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-YOCIMX-9095-pipewiresrc-set-rank-to-secondary.patch
@@ -0,0 +1,31 @@
1From 46670dce02361a318fc66e503d32a0ceb53ec1ea Mon Sep 17 00:00:00 2001
2From: Haihua Hu <jared.hu@nxp.com>
3Date: Mon, 30 Jun 2025 17:56:50 +0900
4Subject: [PATCH] YOCIMX-9095 pipewiresrc: set rank to secondary
5
6Upstream-Status: Pending
7
8currently, pipewiresrc cannot been used as default
9video or audio src, so no need primary rank.
10
11Signed-off-by: Haihua Hu <jared.hu@nxp.com>
12---
13 src/gst/gstpipewire.c | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/src/gst/gstpipewire.c b/src/gst/gstpipewire.c
17index 5761a099d..15f2ac946 100644
18--- a/src/gst/gstpipewire.c
19+++ b/src/gst/gstpipewire.c
20@@ -26,7 +26,7 @@ plugin_init (GstPlugin *plugin)
21 {
22 pw_init (NULL, NULL);
23
24- gst_element_register (plugin, "pipewiresrc", GST_RANK_PRIMARY + 1,
25+ gst_element_register (plugin, "pipewiresrc", GST_RANK_SECONDARY + 1,
26 GST_TYPE_PIPEWIRE_SRC);
27 gst_element_register (plugin, "pipewiresink", GST_RANK_NONE,
28 GST_TYPE_PIPEWIRE_SINK);
29--
302.34.1
31
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch
deleted file mode 100644
index ab34dc2fa..000000000
--- a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 2cac94185824aa7df07ec48a2872f3d26d517a6d Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <shengjiu.wang@nxp.com>
3Date: Tue, 28 Nov 2023 10:23:42 +0800
4Subject: [PATCH] launch: allow pipewire-pulse can be started by root.
5
6revert commit 8942f6b40 ("launch: avoid autostarting pipewire-pulse
7systemd units for root")
8
9Upstream-Status: Inappropriate [i.MX specific]
10Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
11---
12 src/daemon/systemd/user/pipewire-pulse.service.in | 1 -
13 src/daemon/systemd/user/pipewire-pulse.socket | 1 -
14 2 files changed, 2 deletions(-)
15
16diff --git a/src/daemon/systemd/user/pipewire-pulse.service.in b/src/daemon/systemd/user/pipewire-pulse.service.in
17index 73d22e532..da7728ee3 100644
18--- a/src/daemon/systemd/user/pipewire-pulse.service.in
19+++ b/src/daemon/systemd/user/pipewire-pulse.service.in
20@@ -14,7 +14,6 @@ Description=PipeWire PulseAudio
21 # After=pipewire-pulse.socket is not needed, as it is already implicit in the
22 # socket-service relationship, see systemd.socket(5).
23 Requires=pipewire-pulse.socket
24-ConditionUser=!root
25 Wants=pipewire.service pipewire-session-manager.service
26 After=pipewire.service pipewire-session-manager.service
27 Conflicts=pulseaudio.service
28diff --git a/src/daemon/systemd/user/pipewire-pulse.socket b/src/daemon/systemd/user/pipewire-pulse.socket
29index 1ae5edafb..d27fb0e26 100644
30--- a/src/daemon/systemd/user/pipewire-pulse.socket
31+++ b/src/daemon/systemd/user/pipewire-pulse.socket
32@@ -1,6 +1,5 @@
33 [Unit]
34 Description=PipeWire PulseAudio
35-ConditionUser=!root
36 Conflicts=pulseaudio.socket
37
38 [Socket]
39--
402.34.1
41
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-systemd-allow-pipewire-user-services-for-root.patch b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-systemd-allow-pipewire-user-services-for-root.patch
new file mode 100644
index 000000000..da159cfb2
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0001-systemd-allow-pipewire-user-services-for-root.patch
@@ -0,0 +1,41 @@
1From 5e89cf0818c555dff31a1ef9e02828c2541b7e1f Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <shengjiu.wang@nxp.com>
3Date: Mon, 31 Mar 2025 14:44:23 +0800
4Subject: [PATCH] systemd: allow pipewire user services for root
5
6Revert commit 9bc29b4b3 ("systemd: Disable pipewire user services for root")
7
8BT ofono service needs root permission for starting service.
9
10wireplumber[789]: 5:185m5:185mspa.bluez5: Failed to start HFP/HSP backend ofono
11
12Upstream-Status: Inappropriate [i.MX specific]
13Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
14---
15 src/daemon/systemd/user/pipewire.service.in | 1 -
16 src/daemon/systemd/user/pipewire.socket | 1 -
17 2 files changed, 2 deletions(-)
18
19Index: pipewire-1.4.8/src/daemon/systemd/user/pipewire.service.in
20===================================================================
21--- pipewire-1.4.8.orig/src/daemon/systemd/user/pipewire.service.in
22+++ pipewire-1.4.8/src/daemon/systemd/user/pipewire.service.in
23@@ -14,7 +14,6 @@ Description=PipeWire Multimedia Service
24 # After=pipewire.socket is not needed, as it is already implicit in the
25 # socket-service relationship, see systemd.socket(5).
26 Requires=pipewire.socket @PW_SERVICE_REQS@
27-ConditionUser=!root
28
29 [Service]
30 LockPersonality=yes
31Index: pipewire-1.4.8/src/daemon/systemd/user/pipewire.socket
32===================================================================
33--- pipewire-1.4.8.orig/src/daemon/systemd/user/pipewire.socket
34+++ pipewire-1.4.8/src/daemon/systemd/user/pipewire.socket
35@@ -1,6 +1,5 @@
36 [Unit]
37 Description=PipeWire Multimedia System Sockets
38-ConditionUser=!root
39
40 [Socket]
41 Priority=6
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0003-pipewiresrc-update-per-plane-stride-and-offset-accor.patch b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0003-pipewiresrc-update-per-plane-stride-and-offset-accor.patch
new file mode 100644
index 000000000..ce4d14371
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire/0003-pipewiresrc-update-per-plane-stride-and-offset-accor.patch
@@ -0,0 +1,51 @@
1From f01c4d27819fc2897b10f7e2bc0f30bd183c45b8 Mon Sep 17 00:00:00 2001
2From: Elliot Chen <elliot.chen@nxp.com>
3Date: Sat, 28 Feb 2026 14:47:22 +0900
4Subject: [PATCH] pipewiresrc: update per-plane stride and offset according to
5 chunk info
6
7Upstream-Status: Pending
8
9---
10 meson.build | 2 +-
11 src/gst/gstpipewiresrc.c | 11 +++++++++++
12 2 files changed, 12 insertions(+), 1 deletion(-)
13
14diff --git a/meson.build b/meson.build
15index bca2c7a27..e290217e9 100644
16--- a/meson.build
17+++ b/meson.build
18@@ -412,7 +412,7 @@ gst_deps_def = {
19 'gio-unix-2.0': {},
20 'gstreamer-1.0': {'version': '>= 1.10.0'},
21 'gstreamer-base-1.0': {},
22- 'gstreamer-video-1.0': {},
23+ 'gstreamer-video-1.0': {'version': '>= 1.22.0'},
24 'gstreamer-audio-1.0': {},
25 'gstreamer-allocators-1.0': {},
26 }
27diff --git a/src/gst/gstpipewiresrc.c b/src/gst/gstpipewiresrc.c
28index b0de17dfd..044c0d583 100644
29--- a/src/gst/gstpipewiresrc.c
30+++ b/src/gst/gstpipewiresrc.c
31@@ -838,6 +838,17 @@ static GstBuffer *dequeue_buffer(GstPipeWireSrc *pwsrc)
32
33 video_size += d->chunk->size;
34 }
35+
36+ /* If the buffer number is smaller than the plane number,
37+ * update the stride and offset for the remain planes.
38+ */
39+ if (n_datas && n_datas < n_planes) {
40+ for (i = n_datas; i < n_planes; i++) {
41+ meta->stride[i] = gst_video_format_info_extrapolate_stride (info->finfo, i, b->buffer->datas[0].chunk->stride);
42+ meta->offset[i] = meta->offset[i-1] +
43+ meta->stride[i-1] * GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT (info->finfo, i-1, GST_VIDEO_INFO_HEIGHT(info));
44+ }
45+ }
46 }
47
48 if (b->buffer->n_datas != gst_buffer_n_memory(data->buf)) {
49--
502.34.1
51
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend
index 865b29349..2c28aca5f 100644
--- a/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/pipewire/pipewire_%.bbappend
@@ -1,8 +1,12 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" 1FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
2 2
3SRC_URI:append:imx-nxp-bsp = " file://0001-launch-allow-pipewire-pulse-can-be-started-by-root.patch" 3SRC_URI:append:imx-nxp-bsp = " \
4 4 file://0001-systemd-allow-pipewire-user-services-for-root.patch \
5SYSTEMD_AUTO_ENABLE:imx-nxp-bsp = "disable" 5 file://0001-YOCIMX-9095-pipewiresrc-set-rank-to-secondary.patch \
6"
7SRC_URI:append:mx95-nxp-bsp = " \
8 file://0003-pipewiresrc-update-per-plane-stride-and-offset-accor.patch \
9"
6 10
7DEPENDS:append:mx95-nxp-bsp = " libdrm" 11DEPENDS:append:mx95-nxp-bsp = " libdrm"
8 12
@@ -10,8 +14,6 @@ PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
10PACKAGECONFIG_REMOVE ?= "" 14PACKAGECONFIG_REMOVE ?= ""
11PACKAGECONFIG_REMOVE:mx6-nxp-bsp ?= "gstreamer" 15PACKAGECONFIG_REMOVE:mx6-nxp-bsp ?= "gstreamer"
12PACKAGECONFIG_REMOVE:mx7-nxp-bsp ?= "gstreamer" 16PACKAGECONFIG_REMOVE:mx7-nxp-bsp ?= "gstreamer"
13PACKAGECONFIG_REMOVE:mx8-nxp-bsp ?= "gstreamer"
14PACKAGECONFIG_REMOVE:mx93-nxp-bsp ?= "gstreamer"
15 17
16PACKAGECONFIG:class-target:append:imx-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez-lc3', '', d)}" 18PACKAGECONFIG:class-target:append:imx-nxp-bsp = " ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez-lc3', '', d)}"
17 19
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/0001-wpctl-fix-set-default-Segmentation-fault-on-32bit-pl.patch b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/0001-wpctl-fix-set-default-Segmentation-fault-on-32bit-pl.patch
new file mode 100644
index 000000000..52db25494
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/0001-wpctl-fix-set-default-Segmentation-fault-on-32bit-pl.patch
@@ -0,0 +1,33 @@
1From 9cebf00856ef24b9a4d6306775013b10da821172 Mon Sep 17 00:00:00 2001
2From: Shengjiu Wang <shengjiu.wang@nxp.com>
3Date: Thu, 9 Nov 2023 15:15:04 +0800
4Subject: [PATCH] wpctl: fix set-default Segmentation fault on 32bit platform
5
6Upstream-Status: Inappropriate [i.MX specific]
7Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
8---
9 src/tools/wpctl.c | 10 +++++++++-
10 1 file changed, 9 insertions(+), 1 deletion(-)
11
12Index: wireplumber-0.5.11/src/tools/wpctl.c
13===================================================================
14--- wireplumber-0.5.11.orig/src/tools/wpctl.c
15+++ wireplumber-0.5.11/src/tools/wpctl.c
16@@ -832,9 +832,16 @@ set_default_parse_positional (gint argc,
17 static gboolean
18 set_default_prepare (WpCtl * self, GError ** error)
19 {
20+ g_autoptr (WpPlugin) def_nodes_api = wp_plugin_find (self->core, "default-nodes-api");
21+ guint32 id;
22+
23+ if (!translate_id (def_nodes_api, cmdline.set_default.id, &id, error)) {
24+ fprintf(stderr, "Translate ID error.\n");
25+ return FALSE;
26+ }
27 wp_object_manager_add_interest (self->om, WP_TYPE_NODE,
28 WP_CONSTRAINT_TYPE_PW_GLOBAL_PROPERTY,
29- "object.id", "=u", (guint32) cmdline.set_default.id,
30+ "object.id", "=u", id,
31 NULL);
32 wp_object_manager_request_object_features (self->om, WP_TYPE_NODE,
33 WP_PIPEWIRE_OBJECT_FEATURES_MINIMAL);
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/51-bluez-imx.conf b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/51-bluez-imx.conf
new file mode 100644
index 000000000..cab02a96d
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/51-bluez-imx.conf
@@ -0,0 +1,16 @@
1monitor.bluez.properties = {
2 ## These features do not work on all headsets, so they are enabled
3 ## by default based on the hardware database. They can also be
4 ## forced on/off for all devices by the following options:
5 bluez5.enable-msbc = true
6
7 ## HFP/HSP backend (default: native).
8 ## Available values: any, none, hsphfpd, ofono, native
9 bluez5.hfphsp-backend = "ofono"
10
11 ## HFP/HSP hardware offload SCO support (default: false).
12 ## Using this feature requires a custom WirePlumber script that
13 ## handles audio routing in a platform-specific way. See
14 ## tests/examples/bt-pinephone.lua for an example.
15 bluez5.hw-offload-sco = true
16}
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/80-disable-logind.conf b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/80-disable-logind.conf
new file mode 100644
index 000000000..4255174ad
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/files/imx-nxp-bsp/80-disable-logind.conf
@@ -0,0 +1,6 @@
1# Disabling seat monitoring via logind in the BlueZ monitor
2wireplumber.profiles = {
3 main = {
4 monitor.bluez.seat-monitoring = disabled
5 }
6}
diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/wireplumber_%.bbappend b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/wireplumber_%.bbappend
new file mode 100644
index 000000000..e79e98cfe
--- /dev/null
+++ b/dynamic-layers/multimedia-layer/recipes-multimedia/wireplumber/wireplumber_%.bbappend
@@ -0,0 +1,18 @@
1FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
2
3SRC_URI:append:imx-nxp-bsp = " file://51-bluez-imx.conf \
4 file://80-disable-logind.conf \
5 file://0001-wpctl-fix-set-default-Segmentation-fault-on-32bit-pl.patch \
6 "
7
8do_install:append:imx-nxp-bsp () {
9
10 install -d ${D}${datadir}
11
12 # Install nxp configure file to /usr/share/wireplumber/wireplumber.conf.d
13 install -d ${D}${datadir}/wireplumber/wireplumber.conf.d
14 install -m 0644 ${UNPACKDIR}/51-bluez-imx.conf ${D}${datadir}/wireplumber/wireplumber.conf.d
15 install -m 0644 ${UNPACKDIR}/80-disable-logind.conf ${D}${datadir}/wireplumber/wireplumber.conf.d
16}
17
18FILES:${PN}:append = " ${datadir}/wireplumber/wireplumber.conf.d"
diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc/0001-base_type.h-make-header-compatible-with-c23.patch b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc/0001-base_type.h-make-header-compatible-with-c23.patch
deleted file mode 100644
index 8d017ab71..000000000
--- a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc/0001-base_type.h-make-header-compatible-with-c23.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From e7f6097c9e7cb30f130502cc4804e1a1b01342de Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Wed, 7 May 2025 16:13:38 +0000
4Subject: [PATCH] base_type.h: make header compatible with c23
5
6With C23 bool, true and false are built in keywords and cannot be
7redefined.
8
9Upstream-Status: Pending
10Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
11---
12 usr/include/hantro_VC8000E_enc/base_type.h | 4 ++++
13 1 file changed, 4 insertions(+)
14
15diff --git a/usr/include/hantro_VC8000E_enc/base_type.h b/usr/include/hantro_VC8000E_enc/base_type.h
16index 282fc81b8eba..af4212eed2bd 100755
17--- a/usr/include/hantro_VC8000E_enc/base_type.h
18+++ b/usr/include/hantro_VC8000E_enc/base_type.h
19@@ -67,6 +67,9 @@ typedef unsigned int UInt;
20 #define HANTRO_FALSE 0
21 #define HANTRO_TRUE 1
22
23+#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L
24+/* bool, true and false are keywords. */
25+#else
26 #ifndef bool
27 typedef enum
28 {
29@@ -74,6 +77,7 @@ typedef enum
30 true = HANTRO_TRUE
31 } bool;
32 #endif
33+#endif
34
35 enum
36 {
37--
382.42.0
39
diff --git a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.10.1.bb b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.11.0.bb
index 68c2a4979..528b05e17 100644
--- a/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.10.1.bb
+++ b/recipes-bsp/imx-vpu-hantro-vc/imx-vpu-hantro-vc_1.11.0.bb
@@ -2,18 +2,14 @@
2 2
3DESCRIPTION = "i.MX VC8000E Encoder library" 3DESCRIPTION = "i.MX VC8000E Encoder library"
4LICENSE = "Proprietary" 4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=ca53281cc0caa7e320d4945a896fb837" 5LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac"
6 6
7inherit fsl-eula-unpack 7inherit fsl-eula-unpack
8 8
9SRC_URI = " \ 9SRC_URI = " ${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
10 ${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \ 10IMX_SRCREV_ABBREV = "5e18a84"
11 file://0001-base_type.h-make-header-compatible-with-c23.patch \
12"
13IMX_SRCREV_ABBREV = "c0244a1"
14
15SRC_URI[sha256sum] = "713ba375f25490727fcc62bab5d5508f74de03204b4c153464b696b652c5c7df"
16 11
12SRC_URI[sha256sum] = "04d2a9c5c75804a11a4500a0133dfc7d8e84f74254cee52c42075f5ecc229550"
17S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}" 13S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
18 14
19# SCR is the location and name of the Software Content Register file 15# SCR is the location and name of the Software Content Register file
@@ -36,4 +32,5 @@ do_install () {
36FILES:${PN} = "/" 32FILES:${PN} = "/"
37 33
38PACKAGE_ARCH = "${MACHINE_SOCARCH}" 34PACKAGE_ARCH = "${MACHINE_SOCARCH}"
35
39COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)" 36COMPATIBLE_MACHINE = "(mx8mp-nxp-bsp)"
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.5.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.9.0.bb
index 940b9fa41..d24ab66ea 100644
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.5.0.bb
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro-daemon_1.9.0.bb
@@ -7,9 +7,9 @@ DEPENDS = "imx-vpu-hantro"
7DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc" 7DEPENDS:append:mx8mp-nxp-bsp = " imx-vpu-hantro-vc"
8 8
9SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.tar.gz" 9SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.tar.gz"
10IMX_SRCREV_ABBREV = "3200e68" 10IMX_SRCREV_ABBREV = "a4cefcc"
11 11
12SRC_URI[sha256sum] = "e7806a92d4a5ab51b76d9edef5175a95625c4ac3cab467fe1519bb0ce16e6535" 12SRC_URI[sha256sum] = "629087dd3e9ae0f4c00a75a2f2b715b7e24918b7401b26137e9270d6ac0fa90c"
13 13
14S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}" 14S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
15 15
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-basetype.h-make-header-compatible-with-c23.patch b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-basetype.h-make-header-compatible-with-c23.patch
deleted file mode 100644
index bbfec172a..000000000
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-basetype.h-make-header-compatible-with-c23.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From e39a6602817e4221ae09ac3d520ca6a0d94814dc Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Wed, 7 May 2025 16:13:38 +0000
4Subject: [PATCH] basetype.h: make header compatible with c23
5
6With C23 bool, true and false are built in keywords and cannot be
7redefined.
8
9Upstream-Status: Pending
10Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
11---
12 h1_encoder/software/inc/basetype.h | 4 ++++
13 1 file changed, 4 insertions(+)
14
15diff --git a/h1_encoder/software/inc/basetype.h b/h1_encoder/software/inc/basetype.h
16index 55e46a195b3b..6655ec54481b 100755
17--- a/h1_encoder/software/inc/basetype.h
18+++ b/h1_encoder/software/inc/basetype.h
19@@ -66,12 +66,16 @@ typedef size_t ptr_t;
20 #define PRT_PTR "x"
21 #endif
22
23+#if defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L
24+/* bool, true and false are keywords. */
25+#else
26 #ifndef __cplusplus
27 typedef enum {
28 false = 0,
29 true = 1
30 } bool;
31 #endif
32+#endif
33
34 #else /* __symbian__ or __win__ or whatever, customize it to suit well */
35
36--
372.42.0
38
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-test-md5-convert-to-ansi-c.patch b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-test-md5-convert-to-ansi-c.patch
deleted file mode 100644
index da1af2b9c..000000000
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro/0001-test-md5-convert-to-ansi-c.patch
+++ /dev/null
@@ -1,90 +0,0 @@
1From 0c5bdd12a6f3ba73e605656828bf429966a997ef Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Wed, 7 May 2025 13:25:26 +0000
4Subject: [PATCH] test: md5: convert to ansi c
5
6GCC 15 no longer likes this K&R style function declarations.
7
8Upstream-Status: Pending
9Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
10---
11 decoder_sw/software/test/common/swhw/md5.c | 15 +++++----------
12 decoder_sw/software/test/common/swhw/md5.h | 8 ++++----
13 2 files changed, 9 insertions(+), 14 deletions(-)
14
15diff --git a/decoder_sw/software/test/common/swhw/md5.c b/decoder_sw/software/test/common/swhw/md5.c
16index c3334bf751fd..20014fbdf268 100755
17--- a/decoder_sw/software/test/common/swhw/md5.c
18+++ b/decoder_sw/software/test/common/swhw/md5.c
19@@ -42,8 +42,7 @@
20 /*
21 * Note: this code is harmless on little-endian machines.
22 */
23-void ByteReverse(buf, longs) unsigned char *buf;
24-unsigned longs;
25+void ByteReverse(unsigned char *buf, unsigned longs)
26 {
27 uint32 t;
28 do {
29@@ -59,7 +58,7 @@ unsigned longs;
30 * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
31 * initialization constants.
32 */
33-void MD5Init(ctx) struct MD5Context *ctx;
34+void MD5Init(struct MD5Context *ctx)
35 {
36 ctx->buf[0] = 0x67452301;
37 ctx->buf[1] = 0xefcdab89;
38@@ -74,9 +73,7 @@ void MD5Init(ctx) struct MD5Context *ctx;
39 * Update context to reflect the concatenation of another buffer full
40 * of bytes.
41 */
42-void MD5Update(ctx, buf, len) struct MD5Context *ctx;
43-unsigned char *buf;
44-unsigned len;
45+void MD5Update(struct MD5Context *ctx, unsigned char *buf, unsigned len)
46 {
47 uint32 t;
48
49@@ -124,8 +121,7 @@ unsigned len;
50 * Final wrapup - pad to 64-byte boundary with the bit pattern
51 * 1 0* (64-bit count of bits processed, MSB-first)
52 */
53-void MD5Final(digest, ctx) unsigned char digest[16];
54-struct MD5Context *ctx;
55+void MD5Final(unsigned char digest[16], struct MD5Context *ctx)
56 {
57 unsigned count;
58 unsigned char *p;
59@@ -186,8 +182,7 @@ struct MD5Context *ctx;
60 * reflect the addition of 16 longwords of new data. MD5Update blocks
61 * the data and converts bytes into longwords for this routine.
62 */
63-void MD5Transform(buf, in) uint32 buf[4];
64-uint32 in[16];
65+void MD5Transform(uint32 buf[4], uint32 in[16])
66 {
67 register uint32 a, b, c, d;
68
69diff --git a/decoder_sw/software/test/common/swhw/md5.h b/decoder_sw/software/test/common/swhw/md5.h
70index 516400236606..c1d773093b66 100755
71--- a/decoder_sw/software/test/common/swhw/md5.h
72+++ b/decoder_sw/software/test/common/swhw/md5.h
73@@ -76,10 +76,10 @@ struct MD5Context {
74 unsigned char in[64];
75 };
76
77-extern void MD5Init();
78-extern void MD5Update();
79-extern void MD5Final();
80-extern void MD5Transform();
81+extern void MD5Init(struct MD5Context *ctx);
82+extern void MD5Update(struct MD5Context *ctx, unsigned char *buf, unsigned len);
83+extern void MD5Final(unsigned char digest[16], struct MD5Context *ctx);
84+extern void MD5Transform(uint32 buf[4], uint32 in[16]);
85
86 /*
87 * This is needed to make RSAREF happy on some MS-DOS compilers.
88--
892.42.0
90
diff --git a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.40.0.bb
index d766e0191..e5113f1c1 100644
--- a/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.36.0.bb
+++ b/recipes-bsp/imx-vpu-hantro/imx-vpu-hantro_1.40.0.bb
@@ -1,19 +1,17 @@
1# Copyright (C) 2017-2020 NXP 1# Copyright (C) 2017-2020,2026 NXP
2 2
3DESCRIPTION = "i.MX Hantro VPU library" 3DESCRIPTION = "i.MX Hantro VPU library"
4LICENSE = "Proprietary" 4LICENSE = "Proprietary"
5LIC_FILES_CHKSUM = "file://COPYING;md5=c0fb372b5d7f12181de23ef480f225f3" 5LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac"
6 6
7PROVIDES = "virtual/imxvpu" 7PROVIDES = "virtual/imxvpu"
8 8
9SRC_URI = " \ 9SRC_URI = " \
10 ${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \ 10 ${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true \
11 file://0001-test-md5-convert-to-ansi-c.patch \
12 file://0001-basetype.h-make-header-compatible-with-c23.patch \
13" 11"
14IMX_SRCREV_ABBREV = "194a305" 12IMX_SRCREV_ABBREV = "52c7e45"
15 13
16SRC_URI[sha256sum] = "0ef1fb5c6653c08f2d2812c72dedf3e8beb091dd5b3d70d6e26f41bac4ebffa7" 14SRC_URI[sha256sum] = "cdfb28cdec4e26ef84ee8c54be89a1da269eaeb4b51eafe689eb084ac20c7d84"
17 15
18S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}" 16S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
19 17
@@ -43,7 +41,5 @@ do_install () {
43 41
44FILES:${PN} += "/unit_tests" 42FILES:${PN} += "/unit_tests"
45 43
46RDEPENDS:${PN} += "imx-vpu-hantro-daemon"
47
48PACKAGE_ARCH = "${MACHINE_SOCARCH}" 44PACKAGE_ARCH = "${MACHINE_SOCARCH}"
49COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)" 45COMPATIBLE_MACHINE = "(mx8mq-nxp-bsp|mx8mm-nxp-bsp|mx8mp-nxp-bsp)"
diff --git a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
index d38e97e8f..fabbbb4ff 100644
--- a/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
+++ b/recipes-multimedia/alsa/imx-alsa-plugins_git.bb
@@ -1,5 +1,5 @@
1# Copyright 2013-2016 Freescale Semiconductor 1# Copyright 2013-2016 Freescale Semiconductor
2# Copyright 2017-2025 NXP 2# Copyright 2017-2026 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 alsa-lib plugins" 5DESCRIPTION = "Freescale alsa-lib plugins"
@@ -19,9 +19,10 @@ inherit autotools pkgconfig use-imx-headers
19 19
20PV = "1.0.26+${SRCPV}" 20PV = "1.0.26+${SRCPV}"
21 21
22SRC_URI = "git://github.com/nxp-imx/imx-alsa-plugins.git;protocol=https;branch=${SRCBRANCH}" 22SRC_URI = "${IMXALSA_SRC};branch=${SRCBRANCH}"
23SRCBRANCH = "MM_04.10.0_2505_L6.12.20" 23IMXALSA_SRC ?= "git://github.com/nxp-imx/imx-alsa-plugins.git;protocol=https"
24SRCREV = "40e45c8023f95c06c4ea10185ca85db7eb2dfcd8" 24SRCBRANCH = "MM_04.10.03_2512_L6.18.2"
25SRCREV = "18eb79b6cf13fb988de7d4eef5b22eb60f8e2533"
25 26
26CFLAGS:append = " -I${STAGING_INCDIR_IMX}" 27CFLAGS:append = " -I${STAGING_INCDIR_IMX}"
27 28
diff --git a/recipes-multimedia/bluealsa/bluealsa_%.bbappend b/recipes-multimedia/bluealsa/bluealsa_%.bbappend
new file mode 100644
index 000000000..212dd3b7a
--- /dev/null
+++ b/recipes-multimedia/bluealsa/bluealsa_%.bbappend
@@ -0,0 +1 @@
SYSTEMD_AUTO_ENABLE:${PN} = "disable"
diff --git a/recipes-multimedia/gstreamer/gst-devtools_1.26.0.imx.bb b/recipes-multimedia/gstreamer/gst-devtools_1.26.6.bb
index 9a619f5a0..ddbe334db 100644
--- a/recipes-multimedia/gstreamer/gst-devtools_1.26.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gst-devtools_1.26.6.bb
@@ -6,13 +6,13 @@ SECTION = "multimedia"
6LICENSE = "LGPL-2.1-or-later" 6LICENSE = "LGPL-2.1-or-later"
7LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" 7LIC_FILES_CHKSUM = "file://validate/COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
8 8
9SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${@get_gst_ver("${PV}")}.tar.xz \ 9#S = "${WORKDIR}/gst-devtools-${PV}"
10
11SRC_URI = "https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-${PV}.tar.xz \
10 file://0001-connect-has-a-different-signature-on-musl.patch \ 12 file://0001-connect-has-a-different-signature-on-musl.patch \
11 " 13 "
12 14
13S = "${UNPACKDIR}/gst-devtools-${@get_gst_ver("${PV}")}" 15SRC_URI[sha256sum] = "dec8fc56d578d65c498e65e56efe44994c5d3f4e85dbbdff0242b441b32e19b2"
14
15SRC_URI[sha256sum] = "eff33d7dc292bb074a2788ea887b6283398ffdefafa49fb7d08efe6658a65648"
16 16
17DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" 17DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base"
18RRECOMMENDS:${PN} = "git" 18RRECOMMENDS:${PN} = "git"
@@ -40,9 +40,6 @@ EXTRA_OEMESON += " \
40 -Dvalidate=enabled \ 40 -Dvalidate=enabled \
41 ${@gettext_oemeson(d)} \ 41 ${@gettext_oemeson(d)} \
42" 42"
43# Drop .imx from PV
44def get_gst_ver(v):
45 return oe.utils.trim_version(v, 3)
46 43
47do_install:append () { 44do_install:append () {
48 for fn in ${bindir}/gst-validate-launcher \ 45 for fn in ${bindir}/gst-validate-launcher \
@@ -53,3 +50,10 @@ do_install:append () {
53 50
54GIR_MESON_ENABLE_FLAG = "enabled" 51GIR_MESON_ENABLE_FLAG = "enabled"
55GIR_MESON_DISABLE_FLAG = "disabled" 52GIR_MESON_DISABLE_FLAG = "disabled"
53
54########### i.MX overrides ################
55
56EXTRA_OEMESON:append:mx93-nxp-bsp = " -Dintrospection=disabled "
57EXTRA_OEMESON:append:mx943-nxp-bsp = " -Dintrospection=disabled "
58
59########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch b/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
deleted file mode 100644
index 828c87dc9..000000000
--- a/recipes-multimedia/gstreamer/gst-examples/0001-Make-player-examples-installable.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From 7924016fce2d0b435891a335cdae52fc939c7e3b Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Thu, 17 Aug 2017 11:07:02 +0300
4Subject: [PATCH] Make player examples installable
5
6Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
7Upstream-Status: Denied [Upstream considers these code examples, for now a least]
8
9https://bugzilla.gnome.org/show_bug.cgi?id=777827
10
11---
12 playback/player/gst-play/meson.build | 1 +
13 playback/player/gtk/meson.build | 1 +
14 2 files changed, 2 insertions(+)
15
16Index: gst-examples/playback/player/gst-play/meson.build
17===================================================================
18--- gst-examples.orig/playback/player/gst-play/meson.build
19+++ gst-examples/playback/player/gst-play/meson.build
20@@ -2,5 +2,6 @@ executable('gst-play',
21 ['gst-play.c',
22 'gst-play-kb.c',
23 'gst-play-kb.h'],
24+ install: true,
25 dependencies : [gst_dep, dependency('gstreamer-play-1.0'), m_dep])
26
27Index: gst-examples/playback/player/gtk/meson.build
28===================================================================
29--- gst-examples.orig/playback/player/gtk/meson.build
30+++ gst-examples/playback/player/gtk/meson.build
31@@ -20,5 +20,6 @@ if gtk_dep.found()
32 'gtk-video-renderer.h',
33 'gtk-video-renderer.c'],
34 c_args : extra_c_args,
35+ install: true,
36 dependencies : [gst_dep, gsttag_dep, gstplay_dep, gtk_dep, x11_dep])
37 endif
diff --git a/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop b/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop
deleted file mode 100644
index d165e5d91..000000000
--- a/recipes-multimedia/gstreamer/gst-examples/gst-player.desktop
+++ /dev/null
@@ -1,10 +0,0 @@
1[Desktop Entry]
2Name=Media Player
3Comment=Basic media player
4Icon=video-player
5TryExec=gtk-play
6Exec=gtk-play
7StartupNotify=true
8Terminal=false
9Type=Application
10Categories=GTK;AudioVideo;
diff --git a/recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb b/recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb
deleted file mode 100644
index 9db0051a1..000000000
--- a/recipes-multimedia/gstreamer/gst-examples_1.24.7.imx.bb
+++ /dev/null
@@ -1,38 +0,0 @@
1# This builds an older version which is compatible with the gstreamer NXP fork 1.24.7.imx,
2# thus the version is appended with '.imx'
3
4SUMMARY = "GStreamer examples (including gtk-play, gst-play)"
5DESCRIPTION = "GStreamer example applications."
6HOMEPAGE = "https://gitlab.freedesktop.org/gstreamer/gst-examples"
7BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues"
8LICENSE = "LGPL-2.0-or-later"
9LIC_FILES_CHKSUM = "file://playback/player/gtk/gtk-play.c;beginline=1;endline=20;md5=f8c72dae3d36823ec716a9ebcae593b9"
10
11DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gtk+3 json-glib glib-2.0-native"
12
13SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gstreamer.git;protocol=https;branch=1.24 \
14 file://0001-Make-player-examples-installable.patch \
15 file://gst-player.desktop \
16 "
17
18SRCREV = "0f1e984e41ce8d6d0758265d35e8b10d5815fde2"
19
20S = "${UNPACKDIR}/${BP}/subprojects/gst-examples"
21
22inherit meson pkgconfig features_check
23
24UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)"
25
26ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
27
28do_install:append() {
29 install -m 0644 -D ${UNPACKDIR}/gst-player.desktop ${D}${datadir}/applications/gst-player.desktop
30}
31
32RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback"
33RRECOMMENDS:${PN} = "gstreamer1.0-plugins-base-meta \
34 gstreamer1.0-plugins-good-meta \
35 gstreamer1.0-plugins-bad-meta \
36 ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "gstreamer1.0-libav", "", d)} \
37 ${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "gstreamer1.0-plugins-ugly-meta", "", d)}"
38RPROVIDES:${PN} += "gst-player gst-player-bin"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.6.bb
index 138398d85..e7a4a7dea 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.26.6.bb
@@ -11,10 +11,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \
11 file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \ 11 file://ext/libav/gstav.h;beginline=1;endline=18;md5=a752c35267d8276fd9ca3db6994fca9c \
12 " 12 "
13 13
14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${@get_gst_ver('${PV}')}.tar.xz" 14SRC_URI = "https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz"
15SRC_URI[sha256sum] = "707a8b687ff5fddcee5b02415e2ec9b71b4ac44d0b7aec3b477364ceecbf1ecf" 15SRC_URI[sha256sum] = "6e50a6222d509c52b19143f9a7bd3581e22c745d0c4bc27ddb07e1229bcc11b8"
16 16
17S = "${UNPACKDIR}/gst-libav-${@get_gst_ver('${PV}')}" 17S = "${UNPACKDIR}/gst-libav-${PV}"
18 18
19DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg" 19DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base ffmpeg"
20 20
@@ -24,11 +24,5 @@ EXTRA_OEMESON += " \
24 -Dtests=disabled \ 24 -Dtests=disabled \
25" 25"
26 26
27# Drop .imx from PV
28def get_gst_ver(v):
29 return oe.utils.trim_version(v, 3)
30
31FILES:${PN} += "${libdir}/gstreamer-1.0/*.so" 27FILES:${PN} += "${libdir}/gstreamer-1.0/*.so"
32FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" 28FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a"
33
34COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch
new file mode 100644
index 000000000..38282e478
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch
@@ -0,0 +1,30 @@
1From 71b5b04685e6b03b7e2325fed22c83d9c6300f65 Mon Sep 17 00:00:00 2001
2From: Haihua Hu <jared.hu@nxp.com>
3Date: Fri, 6 Feb 2026 17:32:34 +0900
4Subject: [PATCH] MMFMWK-9590 gstcuda: disable gir build for cuda plugin
5 libraries
6
7This is a workaround to only disable cuda gir build to avoid totally
8disable bad library gir build. mesa-rvgpu-emu patch break cuda gir build
9
10Upstream-Status: Inappropriate [i.MX specific]
11---
12 gst-libs/gst/cuda/meson.build | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/gst-libs/gst/cuda/meson.build b/gst-libs/gst/cuda/meson.build
16index 50ae0276ce..5e8a3d209b 100644
17--- a/gst-libs/gst/cuda/meson.build
18+++ b/gst-libs/gst/cuda/meson.build
19@@ -157,7 +157,7 @@ gstcuda= library('gstcuda-' + api_version,
20
21 gen_sources = []
22 library_def = {'lib': gstcuda}
23-if build_gir
24+if false
25 gir_includes = ['Gst-1.0', 'GstBase-1.0', 'GstVideo-1.0', 'CudaGst-1.0']
26 if gstglproto_dep.found()
27 gir_includes += ['GstGL-1.0']
28--
292.34.1
30
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
new file mode 100644
index 000000000..029b80e17
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch
@@ -0,0 +1,33 @@
1From 3bc5d48257032b6bbee532aad15062fbbcc43bfe Mon Sep 17 00:00:00 2001
2From: Andrey Zhizhikin <andrey.z@gmail.com>
3Date: Mon, 27 Jan 2020 10:22:35 +0000
4Subject: [PATCH] opencv: resolve missing opencv data dir in yocto build
5
6When Yocto build is performed, opencv searches for data dir using simple
7'test' command, this fails because pkg-config provides an absolute
8path on the target which needs to be prepended by PKG_CONFIG_SYSROOT_DIR
9in order for the 'test' utility to pick up the absolute path.
10
11Upstream-Status: Inappropriate [OE-specific]
12
13Signed-off-by: Andrey Zhizhikin <andrey.z@gmail.com>
14Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
15
16---
17 ext/opencv/meson.build | 3 +++
18 1 file changed, 3 insertions(+)
19
20diff --git a/ext/opencv/meson.build b/ext/opencv/meson.build
21index 1d86b90..b5c8b95 100644
22--- a/ext/opencv/meson.build
23+++ b/ext/opencv/meson.build
24@@ -87,6 +87,9 @@ if opencv_found
25 opencv_prefix = opencv_dep.get_variable('prefix')
26 gstopencv_cargs += ['-DOPENCV_PREFIX="' + opencv_prefix + '"']
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+
31 # Check the data dir used by opencv for its xml data files
32 # Use prefix from pkg-config to be compatible with cross-compilation
33 r = run_command('test', '-d', opencv_prefix + '/share/opencv', check: false)
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.26.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.26.6.imx.bb
index 1c4ee72d0..36db56eb8 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.26.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.26.6.imx.bb
@@ -5,8 +5,8 @@
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9 6# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
7 7
8require gstreamer1.0-plugins-common.inc 8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
9require gstreamer1.0-plugins-license.inc 9require recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
10 10
11SUMMARY = "'Bad' GStreamer plugins and helper libraries " 11SUMMARY = "'Bad' GStreamer plugins and helper libraries "
12HOMEPAGE = "https://gstreamer.freedesktop.org/" 12HOMEPAGE = "https://gstreamer.freedesktop.org/"
@@ -19,8 +19,6 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad
19 " 19 "
20SRC_URI[sha256sum] = "e64e75cdafd7ff2fc7fc34e855b06b1e3ed227cc06fa378d17bbcd76780c338c" 20SRC_URI[sha256sum] = "e64e75cdafd7ff2fc7fc34e855b06b1e3ed227cc06fa378d17bbcd76780c338c"
21 21
22S = "${WORKDIR}/gst-plugins-bad-${PV}"
23
24LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later" 22LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
25LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" 23LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
26 24
@@ -181,16 +179,18 @@ DEFAULT_PREFERENCE = "-1"
181LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770" 179LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=69333daa044cb77e486cc36129f7a770"
182 180
183SRC_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 \
184 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \ 182 file://0001-fix-maybe-uninitialized-warnings-when-compiling-with.patch \
185 file://0002-avoid-including-sys-poll.h-directly.patch \ 183 file://0002-avoid-including-sys-poll.h-directly.patch \
186 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \ 184 file://0004-opencv-resolve-missing-opencv-data-dir-in-yocto-buil.patch \
187 " 185 "
188SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} " 186SRC_URI:prepend = "${GST1.0-PLUGINS-BAD_SRC};branch=${SRCBRANCH} "
189GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
190SRCBRANCH = "MM_04.10.0_2505_L6.12.20"
191SRCREV = "4320364e6be53cae81ac2bca3ce0e09cf8707590"
192 187
193S = "${UNPACKDIR}/${BP}" 188SRC_URI:append:mx93-nxp-bsp = "file://0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch"
189SRC_URI:append:mx943-nxp-bsp = "file://0001-MMFMWK-9590-gstcuda-disable-gir-build-for-cuda-plugi.patch"
190
191GST1.0-PLUGINS-BAD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-bad.git;protocol=https"
192SRCBRANCH = "MM_04.10.03_2512_L6.18.2"
193SRCREV = "81b6888efe936153b88c32b22a12d60bf9395054"
194 194
195inherit use-imx-headers 195inherit use-imx-headers
196 196
@@ -202,6 +202,8 @@ PACKAGECONFIG_REMOVE ?= " \
202 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gl', d)} \ 202 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', 'gl', d)} \
203" 203"
204PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}" 204PACKAGECONFIG:remove = "${PACKAGECONFIG_REMOVE}"
205PACKAGECONFIG:remove:mx93-nxp-bsp = "gl"
206PACKAGECONFIG:remove:mx943-nxp-bsp = "gl"
205PACKAGECONFIG:append:mx8-nxp-bsp = " kms tinycompress" 207PACKAGECONFIG:append:mx8-nxp-bsp = " kms tinycompress"
206 208
207PACKAGECONFIG:append = " ${PACKAGECONFIG_G2D}" 209PACKAGECONFIG:append = " ${PACKAGECONFIG_G2D}"
@@ -220,4 +222,5 @@ EXTRA_OEMESON:remove = " \
220" 222"
221 223
222COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 224COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
225
223########### End of i.MX overrides ######### 226########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch
new file mode 100644
index 000000000..3f709d84f
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch
@@ -0,0 +1,67 @@
1From f85821d405ba287acc01b1c80205470f086b3d61 Mon Sep 17 00:00:00 2001
2From: Haihua Hu <jared.hu@nxp.com>
3Date: Fri, 6 Feb 2026 15:12:52 +0900
4Subject: [PATCH 1/5] MMFMWK-9590 gstgl-1.0: disable gir build for gl plugin
5 libraries
6
7This is a workaround to only display gl gir build to avoid totally
8disable base library gir build. mesa-rvgpu-emu patch break gl gir
9build
10
11Upstream-Status: Inappropriate [i.MX specific]
12---
13 gst-libs/gst/gl/meson.build | 10 +++++-----
14 1 file changed, 5 insertions(+), 5 deletions(-)
15
16diff --git a/gst-libs/gst/gl/meson.build b/gst-libs/gst/gl/meson.build
17index 837cf484e..ef981c8e3 100644
18--- a/gst-libs/gst/gl/meson.build
19+++ b/gst-libs/gst/gl/meson.build
20@@ -1193,7 +1193,7 @@ if build_gstgl
21 description : 'Streaming media framework, OpenGL plugins libraries (OpenGL Prototypes)',
22 )
23
24- if build_gir
25+ if false
26 gir = {
27 'sources' : gl_sources + [gl_enumtypes_h] + [gl_enumtypes_c] + gir_gl_headers,
28 'namespace' : 'GstGL',
29@@ -1239,7 +1239,7 @@ if build_gstgl
30 description : 'Streaming media framework, OpenGL plugins libraries (X11 specifics)',
31 )
32 gl_x11_gir = []
33- if build_gir
34+ if false
35
36 doc_sources = []
37 foreach s: gl_x11_sources + gl_x11_headers
38@@ -1286,7 +1286,7 @@ if build_gstgl
39 description : 'Streaming media framework, OpenGL plugins libraries (Wayland specifics)',
40 )
41 gl_wayland_gir = []
42- if build_gir
43+ if false
44 doc_sources = []
45 foreach s: gl_wayland_sources + gl_wayland_headers
46 doc_sources += s.full_path()
47@@ -1331,7 +1331,7 @@ if build_gstgl
48 description : 'Streaming media framework, OpenGL plugins libraries (EGL specifics)',
49 )
50 gl_egl_gir = []
51- if build_gir
52+ if false
53 gir = {
54 'sources' : gl_egl_sources + gl_egl_headers,
55 'namespace' : 'GstGLEGL',
56@@ -1367,7 +1367,7 @@ if build_gstgl
57 description : 'Streaming media framework, OpenGL plugins libraries (Vivante Framebuffer specifics)',
58 )
59 gl_viv_fb_gir = []
60- if build_gir
61+ if false
62 gir = {
63 'sources' : gl_viv_fb_sources + gl_viv_fb_headers,
64 'namespace' : 'GstGLVivFB',
65--
662.34.1
67
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.6.imx.bb
index 5c2492638..0cfa8c064 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.6.imx.bb
@@ -5,7 +5,7 @@
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9 6# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
7 7
8require gstreamer1.0-plugins-common.inc 8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
9 9
10SUMMARY = "'Base' GStreamer plugins and helper libraries" 10SUMMARY = "'Base' GStreamer plugins and helper libraries"
11HOMEPAGE = "https://gstreamer.freedesktop.org/" 11HOMEPAGE = "https://gstreamer.freedesktop.org/"
@@ -20,8 +20,6 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-ba
20 " 20 "
21SRC_URI[sha256sum] = "edd4338b45c26a9af28c0d35aab964a024c3884ba6f520d8428df04212c8c93a" 21SRC_URI[sha256sum] = "edd4338b45c26a9af28c0d35aab964a024c3884ba6f520d8428df04212c8c93a"
22 22
23S = "${WORKDIR}/gst-plugins-base-${PV}"
24
25DEPENDS += "iso-codes util-linux zlib" 23DEPENDS += "iso-codes util-linux zlib"
26 24
27inherit gobject-introspection 25inherit gobject-introspection
@@ -117,11 +115,12 @@ SRC_URI:remove = " \
117 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch" 115 file://0002-ssaparse-enhance-SSA-text-lines-parsing.patch"
118SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} " 116SRC_URI:prepend = "${GST1.0-PLUGINS-BASE_SRC};branch=${SRCBRANCH} "
119 117
120GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https" 118SRC_URI:append:mx93-nxp-bsp = "file://0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch"
121SRCBRANCH = "MM_04.10.0_2505_L6.12.20" 119SRC_URI:append:mx943-nxp-bsp = "file://0001-MMFMWK-9590-gstgl-1.0-disable-gir-build-for-gl-plugi.patch"
122SRCREV = "bbe6aa6f5b666fda0b172c3e1f417c7eadb16549"
123 120
124S = "${UNPACKDIR}/${BP}" 121GST1.0-PLUGINS-BASE_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-base.git;protocol=https"
122SRCBRANCH = "MM_04.10.03_2512_L6.18.2"
123SRCREV = "48718c61610e3628f3f162bb8d84ae213ae8516f"
125 124
126inherit use-imx-headers 125inherit use-imx-headers
127 126
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.0.imx.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.6.imx.bbappend
index 528d7e1a3..528d7e1a3 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.0.imx.bbappend
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.26.6.imx.bbappend
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
deleted file mode 100644
index 54dd92873..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
+++ /dev/null
@@ -1,47 +0,0 @@
1# This .inc file contains the common setup for the gstreamer1.0-plugins-*
2# plugin set recipes.
3
4# SUMMARY is set in the actual .bb recipes
5HOMEPAGE = "https://gstreamer.freedesktop.org/"
6BUGTRACKER = "https://bugzilla.gnome.org/enter_bug.cgi?product=Gstreamer"
7SECTION = "multimedia"
8
9DEPENDS = "gstreamer1.0 glib-2.0-native"
10
11inherit gettext meson pkgconfig upstream-version-is-even
12
13require gstreamer1.0-plugins-packaging.inc
14
15# Orc enables runtime JIT compilation of data processing routines from Orc
16# bytecode to SIMD instructions for various architectures (currently SSE, MMX,
17# MIPS, Altivec and NEON are supported).
18# This value is used in the PACKAGECONFIG values for each plugin set recipe.
19# By modifying it, Orc can be enabled/disabled in all of these recipes at once.
20GSTREAMER_ORC ?= "orc"
21# workaround to disable orc on mips to fix the build failure
22# {standard input}: Assembler messages:
23# {standard input}:46587: Error: branch out of range
24GSTREAMER_ORC:mips = ""
25PACKAGECONFIG[orc] = "-Dorc=enabled,-Dorc=disabled,orc orc-native"
26
27# TODO: put this in a gettext.bbclass patch (with variables to allow for
28# configuring the option name and the enabled/disabled values).
29def gettext_oemeson(d):
30 if d.getVar('USE_NLS') == 'no':
31 return '-Dnls=disabled'
32 # Remove the NLS bits if USE_NLS is no or INHIBIT_DEFAULT_DEPS is set
33 if d.getVar('INHIBIT_DEFAULT_DEPS') and not oe.utils.inherits(d, 'cross-canadian'):
34 return '-Dnls=disabled'
35 return '-Dnls=enabled'
36
37# Not all plugin sets contain examples, so the -Dexamples
38# option needs to be added conditionally.
39GST_PLUGIN_SET_HAS_EXAMPLES ?= "1"
40
41EXTRA_OEMESON += " \
42 ${@bb.utils.contains('GST_PLUGIN_SET_HAS_EXAMPLES', '1', '-Dexamples=disabled', '', d)} \
43 ${@gettext_oemeson(d)} \
44"
45
46GIR_MESON_ENABLE_FLAG = "enabled"
47GIR_MESON_DISABLE_FLAG = "disabled"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26.6.imx.bb
index 7c921d97c..269761536 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.26.6.imx.bb
@@ -5,7 +5,7 @@
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9 6# Upstream hash: 937817e5164f8af8452aec03ae3c45cb23d63df9
7 7
8require gstreamer1.0-plugins-common.inc 8require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
9 9
10SUMMARY = "'Good' GStreamer plugins" 10SUMMARY = "'Good' GStreamer plugins"
11HOMEPAGE = "https://gstreamer.freedesktop.org/" 11HOMEPAGE = "https://gstreamer.freedesktop.org/"
@@ -17,7 +17,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-go
17 17
18SRC_URI[sha256sum] = "b67b31313a54c6929b82969d41d3cfdf2f58db573fb5f491e6bba5d84aea0778" 18SRC_URI[sha256sum] = "b67b31313a54c6929b82969d41d3cfdf2f58db573fb5f491e6bba5d84aea0778"
19 19
20S = "${WORKDIR}/gst-plugins-good-${PV}" 20S = "${UNPACKDIR}/gst-plugins-good-${PV}"
21 21
22LICENSE = "LGPL-2.1-or-later" 22LICENSE = "LGPL-2.1-or-later"
23LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \ 23LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
@@ -98,12 +98,16 @@ LIC_FILES_CHKSUM = " \
98 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \ 98 file://gst/replaygain/rganalysis.c;beginline=1;endline=23;md5=b60ebefd5b2f5a8e0cab6bfee391a5fe \
99" 99"
100# Enable pulsesink in gstreamer 100# Enable pulsesink in gstreamer
101PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', ' pulseaudio', '', d)}" 101PACKAGECONFIG:append = " pulseaudio"
102 102
103# fb implementation of v4l2 uses libdrm 103# fb implementation of v4l2 uses libdrm
104DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}" 104DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'v4l2', '${DEPENDS_V4L2}', '', d)}"
105DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}" 105DEPENDS_V4L2 = "${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'libdrm', d)}"
106 106
107# FIXME: imx93/943 DISTRO_FEATURES contains x11 but v4l2 implement by libdrm ?
108DEPENDS:append:mx93-nxp-bsp = " libdrm"
109DEPENDS:append:mx943-nxp-bsp = " libdrm"
110
107SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ 111SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \
108 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ 112 file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \
109 file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch \ 113 file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch \
@@ -111,8 +115,8 @@ SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plu
111 115
112SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} " 116SRC_URI:prepend = "${GST1.0-PLUGINS-GOOD_SRC};branch=${SRCBRANCH} "
113GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https" 117GST1.0-PLUGINS-GOOD_SRC ?= "gitsm://github.com/nxp-imx/gst-plugins-good.git;protocol=https"
114SRCBRANCH = "MM_04.10.0_2505_L6.12.20" 118SRCBRANCH = "MM_04.10.03_2512_L6.18.2"
115SRCREV = "6a0df1aee0ef2477dbacedd79df08c5bcb648e55" 119SRCREV = "447aebbd3c2b12a72f00316d60d7c86600a330f6"
116 120
117S = "${UNPACKDIR}/${BP}" 121S = "${UNPACKDIR}/${BP}"
118 122
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb
deleted file mode 100644
index cc2cedfd5..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-imx_2.2.0.bb
+++ /dev/null
@@ -1,66 +0,0 @@
1# Copyright (C) 2018 O.S. Systems Software LTDA.
2DESCRIPTION = "GStreamer 1.0 plugins for i.MX platforms"
3LICENSE = "LGPL-2.0-or-later"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=55ca817ccb7d5b5b66355690e9abc605"
5SECTION = "multimedia"
6DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base libimxdmabuffer"
7# add the audioparsers and the videoparsersbad plugins as RDEPENDS ; audioparsers
8# for the uniaudio decoder, videoparsersbad for the VPU video decoder
9# the gstreamer1.0-plugins-imx RDEPENDS is necessary to ensure the -good recipe is
10# built (it is not a compile-time dependency however, hence RDEPENDS and not DEPENDS)
11RDEPENDS:gstreamer1.0-plugins-imx = "gstreamer1.0-plugins-good gstreamer1.0-plugins-bad"
12RDEPENDS:gstreamer1.0-plugins-imx-imxaudio = "gstreamer1.0-plugins-good-audioparsers"
13RDEPENDS:gstreamer1.0-plugins-imx-imxvpu = "gstreamer1.0-plugins-bad-videoparsersbad"
14
15PV .= "+git${SRCPV}"
16
17SRCBRANCH ?= "master"
18SRCREV = "ce4f86e60f12c56574f727f3317fa8aa30a11387"
19SRC_URI = "git://github.com/Freescale/gstreamer-imx.git;branch=${SRCBRANCH};protocol=https"
20
21inherit pkgconfig meson use-imx-headers
22
23# libg2d on i.MX8 SoCs with a DPU is emulated via the DPU.
24# That particular libg2d .so depends on libdrm, however.
25# Also, due to behavioral differences, an additional flag
26# is needed to improve performance.
27LIBG2D_DPU_OPTION = "-Dg2d-based-on-dpu=false"
28LIBG2D_DEPENDENCIES = "virtual/libg2d"
29LIBG2D_DPU_OPTION:imxdpu = "-Dg2d-based-on-dpu=true"
30LIBG2D_DEPENDENCIES:imxdpu = "virtual/libg2d libdrm"
31
32# v4l2-amphion and v4l2-isi are meant for the Amphion Malone
33# VPU decoder and the ISI drivers in older kernels, which had
34# lots of bugs that required nontrivial workarounds. In the
35# kernels in this release, newer drivers are present, which
36# obviate the need for these special elements.
37EXTRA_OEMESON += "-Dimx-headers-path=${STAGING_INCDIR_IMX} -Dv4l2-amphion=disabled -Dv4l2-isi=false"
38
39PACKAGECONFIG ?= "uniaudiodec"
40PACKAGECONFIG:append:imxgpu2d = " g2d"
41PACKAGECONFIG:append:imxvpu = " vpu"
42PACKAGECONFIG:append:imxipu = " ipu"
43PACKAGECONFIG:append:imxpxp = " pxp"
44# The custom imxv4l2 source and sink elements are only
45# available on the i.MX6.
46# The 2D blitter sinks require an MXC framebuffer, which
47# is not available anymore on the i.MX8 (since these SoCs
48# now use KMS instead of the old Linux framebuffer).
49PACKAGECONFIG:append:mx6-nxp-bsp = " imx2dvideosink v4l2-mxc-source-sink"
50PACKAGECONFIG:append:mx7-nxp-bsp = " imx2dvideosink"
51
52PACKAGECONFIG[g2d] = "-Dg2d=enabled ${LIBG2D_DPU_OPTION},-Dg2d=disabled,${LIBG2D_DEPENDENCIES}"
53PACKAGECONFIG[pxp] = "-Dpxp=enabled,-Dpxp=disabled,"
54PACKAGECONFIG[ipu] = "-Dipu=enabled,-Dipu=disabled,"
55PACKAGECONFIG[vpu] = "-Dvpu=enabled,-Dvpu=disabled,libimxvpuapi2"
56PACKAGECONFIG[imx2dvideosink] = "-Dimx2d-videosink=true,-Dimx2d-videosink=false,"
57PACKAGECONFIG[v4l2-mxc-source-sink] = "-Dv4l2-mxc-source-sink=true,-Dv4l2-mxc-source-sink=false,"
58PACKAGECONFIG[uniaudiodec] = "-Duniaudiodec=enabled,-Duniaudiodec=disabled,imx-codec"
59PACKAGECONFIG[mp3encoder] = "-Dmp3encoder=enabled,-Dmp3encoder=disabled,imx-codec"
60
61require gstreamer1.0-plugins-packaging.inc
62
63# the following line is required to produce one package for each plugin
64PACKAGES_DYNAMIC = "^${PN}-.*"
65
66COMPATIBLE_MACHINE = "(mx6dl-nxp-bsp|mx6q-nxp-bsp|mx6sl-nxp-bsp|mx6sx-nxp-bsp|mx6ul-nxp-bsp|mx6ull-nxp-bsp|mx7d-nxp-bsp|mx8-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
deleted file mode 100644
index 8b1c00111..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
+++ /dev/null
@@ -1,19 +0,0 @@
1# This .inc file contains functionality for automatically setting
2# the the license of all plugins according to the GSTREAMER_GPL.
3
4PACKAGESPLITFUNCS += "set_gstreamer_license"
5
6python set_gstreamer_license () {
7 import oe.utils
8 pn = d.getVar('PN') + '-'
9 gpl_plugins_names = [pn+plugin for plugin in d.getVar('GSTREAMER_GPL').split()]
10 for pkg in oe.utils.packages_filter_out_system(d):
11 if pkg in gpl_plugins_names:
12 d.setVar('LICENSE:' + pkg, 'GPL-2.0-or-later')
13 else:
14 d.setVar('LICENSE:' + pkg, 'LGPL-2.1-or-later')
15}
16
17EXTRA_OEMESON += " \
18 ${@bb.utils.contains_any('PACKAGECONFIG', "${GSTREAMER_GPL}", '-Dgpl=enabled', '-Dgpl=disabled', d)} \
19 "
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
deleted file mode 100644
index d77aeed8a..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
+++ /dev/null
@@ -1,73 +0,0 @@
1# This .inc file contains functionality for automatically splitting
2# built plugins into individual packages for each plugin. A -meta
3# package is also set up that has no files of its own, but contains
4# the names of all plugin packages in its RDEPENDS list.
5#
6# This is mainly used by the gstreamer1.0-plugins-* plugin set recipes,
7# but can be used in any recipe that produces GStreamer plugins.
8
9# Dynamically generate packages for all enabled plugins
10PACKAGES_DYNAMIC = "^${PN}-.* ^libgst.*"
11
12PACKAGESPLITFUNCS =+ "split_gstreamer10_packages"
13PACKAGESPLITFUNCS += "set_gstreamer10_metapkg_rdepends"
14
15python split_gstreamer10_packages () {
16 gst_libdir = d.expand('${libdir}/gstreamer-1.0')
17 postinst = d.getVar('plugin_postinst')
18 glibdir = d.getVar('libdir')
19
20 # GStreamer libraries
21 do_split_packages(d, glibdir, r'^lib(.*)\.so\.*', 'lib%s', 'GStreamer 1.0 %s library', extra_depends='', allow_links=True)
22 # GStreamer plugin shared objects
23 do_split_packages(d, gst_libdir, r'libgst(.*)\.so$', d.expand('${PN}-%s'), 'GStreamer 1.0 plugin for %s', postinst=postinst, extra_depends='')
24 # GObject introspection files for GStreamer plugins
25 do_split_packages(d, glibdir+'/girepository-1.0', r'Gst(.*)-1.0\.typelib$', d.expand('${PN}-%s-typelib'), 'GStreamer 1.0 typelib file for %s', postinst=postinst, extra_depends='')
26 # Static GStreamer libraries for development
27 do_split_packages(d, gst_libdir, r'libgst(.*)\.a$', d.expand('${PN}-%s-staticdev'), 'GStreamer 1.0 plugin for %s (static development files)', extra_depends='${PN}-staticdev')
28}
29
30python set_gstreamer10_metapkg_rdepends () {
31 import os
32 import oe.utils
33
34 # Go through all generated packages (excluding the main package and
35 # the -meta package itself) and add them to the -meta package as RDEPENDS.
36
37 pn = d.getVar('PN')
38 metapkg = pn + '-meta'
39 d.setVar('ALLOW_EMPTY:' + metapkg, "1")
40 d.setVar('FILES:' + metapkg, "")
41 exclude = [ pn, pn + '-meta' ]
42 metapkg_rdepends = []
43 pkgdest = d.getVar('PKGDEST')
44 for pkg in oe.utils.packages_filter_out_system(d):
45 if pkg not in exclude and pkg not in metapkg_rdepends:
46 # See if the package is empty by looking at the contents of its PKGDEST subdirectory.
47 # If this subdirectory is empty, then the package is.
48 # Empty packages do not get added to the meta package's RDEPENDS
49 pkgdir = os.path.join(pkgdest, pkg)
50 if os.path.exists(pkgdir):
51 dir_contents = os.listdir(pkgdir) or []
52 else:
53 dir_contents = []
54 is_empty = len(dir_contents) == 0
55 if not is_empty:
56 metapkg_rdepends.append(pkg)
57 d.setVar('RDEPENDS:' + metapkg, ' '.join(metapkg_rdepends))
58 d.setVar('DESCRIPTION:' + metapkg, pn + ' meta package')
59}
60
61# each plugin-dev depends on PN-dev, plugin-staticdev on PN-staticdev
62# so we need them even when empty (like in gst-plugins-good case)
63ALLOW_EMPTY:${PN} = "1"
64ALLOW_EMPTY:${PN}-dev = "1"
65ALLOW_EMPTY:${PN}-staticdev = "1"
66
67PACKAGES += "${PN}-apps ${PN}-meta ${PN}-glib"
68
69FILES:${PN} = ""
70FILES:${PN}-apps = "${bindir}"
71FILES:${PN}-glib = "${datadir}/glib-2.0"
72
73RRECOMMENDS:${PN} += "${PN}-meta"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.6.bb
index 1f5956ab4..71de57530 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.6.bb
@@ -1,5 +1,5 @@
1require gstreamer1.0-plugins-common.inc 1require recipes-multimedia/gstreamer/gstreamer1.0-plugins-common.inc
2require gstreamer1.0-plugins-license.inc 2require recipes-multimedia/gstreamer/gstreamer1.0-plugins-license.inc
3 3
4SUMMARY = "'Ugly GStreamer plugins" 4SUMMARY = "'Ugly GStreamer plugins"
5HOMEPAGE = "https://gstreamer.freedesktop.org/" 5HOMEPAGE = "https://gstreamer.freedesktop.org/"
@@ -12,11 +12,12 @@ LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
12LICENSE_FLAGS = "commercial" 12LICENSE_FLAGS = "commercial"
13 13
14SRC_URI = " \ 14SRC_URI = " \
15 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${@get_gst_ver("${PV}")}.tar.xz \ 15 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \
16 " 16 "
17SRC_URI[sha256sum] = "a86b51c8454a813120848c803421f327d8c07aabcae461e0597cc49398c0fcde"
18 17
19S = "${UNPACKDIR}/gst-plugins-ugly-${@get_gst_ver("${PV}")}" 18SRC_URI[sha256sum] = "95032eee4580bb9826c008cbce5a2c3a78b980abb270c96a19b645f77255c491"
19
20S = "${UNPACKDIR}/gst-plugins-ugly-${PV}"
20 21
21DEPENDS += "gstreamer1.0-plugins-base" 22DEPENDS += "gstreamer1.0-plugins-base"
22 23
@@ -39,11 +40,5 @@ EXTRA_OEMESON += " \
39 -Dsidplay=disabled \ 40 -Dsidplay=disabled \
40" 41"
41 42
42# Drop .imx from PV
43def get_gst_ver(v):
44 return oe.utils.trim_version(v, 3)
45
46FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs" 43FILES:${PN}-amrnb += "${datadir}/gstreamer-1.0/presets/GstAmrnbEnc.prs"
47FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs" 44FILES:${PN}-x264 += "${datadir}/gstreamer-1.0/presets/GstX264Enc.prs"
48
49COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.0.imx.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.6.bbappend
index ea144b396..ea144b396 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.0.imx.bbappend
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.26.6.bbappend
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.6.bb
index 388ee81e6..89306c928 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-python_1.26.6.bb
@@ -7,8 +7,8 @@ SECTION = "multimedia"
7LICENSE = "LGPL-2.1-or-later" 7LICENSE = "LGPL-2.1-or-later"
8LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" 8LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740"
9 9
10SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz" 10SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz"
11SRC_URI[sha256sum] = "e5046a05d77abb15671ad01cd1908d17d62e5a06f5d7841be4342ade2a3fb8db" 11SRC_URI[sha256sum] = "a4b5bfe039b7267fe8cdd48d106ab20cf88cda600f800d84f3d07724079edf1f"
12 12
13DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject" 13DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
14DEPENDS:append = " gstreamer1.0-plugins-bad" 14DEPENDS:append = " gstreamer1.0-plugins-bad"
@@ -17,7 +17,7 @@ RDEPENDS:${PN} += "gstreamer1.0 gstreamer1.0-plugins-base python3-pygobject"
17 17
18PNREAL = "gst-python" 18PNREAL = "gst-python"
19 19
20S = "${UNPACKDIR}/${PNREAL}-${@get_gst_ver('${PV}')}" 20S = "${UNPACKDIR}/${PNREAL}-${PV}"
21 21
22EXTRA_OEMESON += "\ 22EXTRA_OEMESON += "\
23 -Dtests=disabled \ 23 -Dtests=disabled \
@@ -25,11 +25,9 @@ EXTRA_OEMESON += "\
25 -Dlibpython-dir=${libdir} \ 25 -Dlibpython-dir=${libdir} \
26" 26"
27 27
28inherit meson pkgconfig setuptools3-base upstream-version-is-even features_check 28CFLAGS += "-Wno-error=implicit-function-declaration"
29 29
30# Drop .imx from PV 30inherit meson pkgconfig setuptools3-base upstream-version-is-even features_check
31def get_gst_ver(v):
32 return oe.utils.trim_version(v, 3)
33 31
34FILES:${PN} += "${libdir}/gstreamer-1.0" 32FILES:${PN} += "${libdir}/gstreamer-1.0"
35 33
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-YOCIMX-9113-rtsp-examples-install-test-launch-and-te.patch b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-YOCIMX-9113-rtsp-examples-install-test-launch-and-te.patch
new file mode 100644
index 000000000..9a1d206b6
--- /dev/null
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-YOCIMX-9113-rtsp-examples-install-test-launch-and-te.patch
@@ -0,0 +1,63 @@
1From 0c50b2e474a0887aaefb1ae47af2c9b755cd1a12 Mon Sep 17 00:00:00 2001
2From: Haihua Hu <jared.hu@nxp.com>
3Date: Tue, 8 Jul 2025 17:22:38 +0900
4Subject: [PATCH] YOCIMX-9113 rtsp examples: install test-launch and test-uri
5 into rootfs
6
7gstreamer community has no plan to install these binary as test tool
8https://discourse.gstreamer.org/t/gst-rtsp-server-examples-are-not-installed-by-default/4806
9
10Upstream-Status: Inappropriate [i.MX specific]
11
12Signed-off-by: Haihua Hu <jared.hu@nxp.com>
13---
14 examples/meson.build | 15 +++++++++++++--
15 1 file changed, 13 insertions(+), 2 deletions(-)
16
17diff --git a/examples/meson.build b/examples/meson.build
18index 100c3f99f3..5939fb5ff6 100644
19--- a/examples/meson.build
20+++ b/examples/meson.build
21@@ -7,7 +7,6 @@ examples = [
22 'test-appsrc2',
23 'test-auth',
24 'test-auth-digest',
25- 'test-launch',
26 'test-mp4',
27 'test-multicast2',
28 'test-multicast',
29@@ -22,11 +21,15 @@ examples = [
30 'test-record',
31 'test-replay-server',
32 'test-sdp',
33- 'test-uri',
34 'test-video',
35 'test-video-rtx',
36 ]
37
38+install_examples = [
39+ 'test-launch',
40+ 'test-uri',
41+]
42+
43 foreach example : examples
44 executable(example, '@0@.c'.format(example),
45 c_args : rtspserver_args,
46@@ -35,6 +38,14 @@ foreach example : examples
47 install: false)
48 endforeach
49
50+foreach example : install_examples
51+ executable(example, '@0@.c'.format(example),
52+ c_args : rtspserver_args,
53+ include_directories : rtspserver_incs,
54+ dependencies : [gst_dep, gstapp_dep, gstnet_dep, gst_rtsp_server_dep],
55+ install: true)
56+endforeach
57+
58 cgroup_dep = dependency('libcgroup', version : '>= 0.26', required : false)
59 if cgroup_dep.found()
60 executable('test-cgroups', 'test-cgroups.c',
61--
622.34.1
63
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.6.bb
index b5dd9a322..9c32413ae 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.26.6.bb
@@ -8,31 +8,35 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base"
8 8
9PNREAL = "gst-rtsp-server" 9PNREAL = "gst-rtsp-server"
10 10
11SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${@get_gst_ver("${PV}")}.tar.xz" 11FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
12 12
13SRC_URI[sha256sum] = "e983c039496e3f75e39696554ce74db4120e2465de17aa1cc37160568e9b40bc" 13SRC_URI = "https://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \
14 file://0001-YOCIMX-9113-rtsp-examples-install-test-launch-and-te.patch \
15 "
14 16
15S = "${UNPACKDIR}/${PNREAL}-${@get_gst_ver("${PV}")}" 17SRC_URI[sha256sum] = "ce4e0b7dde7f17dc4f39ffb2dd3db64b0222d11d58be1c9820c20d30370d6f90"
18
19S = "${UNPACKDIR}/${PNREAL}-${PV}"
16 20
17inherit meson pkgconfig upstream-version-is-even gobject-introspection 21inherit meson pkgconfig upstream-version-is-even gobject-introspection
18 22
19EXTRA_OEMESON += " \ 23EXTRA_OEMESON += " \
20 -Ddoc=disabled \ 24 -Ddoc=disabled \
21 -Dexamples=disabled \ 25 -Dexamples=enabled \
22 -Dtests=disabled \ 26 -Dtests=disabled \
23" 27"
24 28
25GIR_MESON_ENABLE_FLAG = "enabled" 29GIR_MESON_ENABLE_FLAG = "enabled"
26GIR_MESON_DISABLE_FLAG = "disabled" 30GIR_MESON_DISABLE_FLAG = "disabled"
27 31
28# Drop .imx from PV
29def get_gst_ver(v):
30 return oe.utils.trim_version(v, 3)
31
32# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well 32# Starting with 1.8.0 gst-rtsp-server includes dependency-less plugins as well
33require gstreamer1.0-plugins-packaging.inc 33require recipes-multimedia/gstreamer/gstreamer1.0-plugins-packaging.inc
34 34
35CVE_PRODUCT += "gst-rtsp-server" 35CVE_PRODUCT += "gst-rtsp-server"
36 36
37COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 37########### i.MX overrides ################
38
39EXTRA_OEMESON:append:mx93-nxp-bsp = " -Dintrospection=disabled "
40EXTRA_OEMESON:append:mx943-nxp-bsp = " -Dintrospection=disabled "
38 41
42########### End of i.MX overrides #########
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_%.bbappend
deleted file mode 100644
index 3b23818dd..000000000
--- a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
1PACKAGECONFIG_GL:imxgpu = "egl"
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.6.bb
index 1d83ca031..559bac064 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.26.6.bb
@@ -9,19 +9,15 @@ REALPN = "gstreamer-vaapi"
9LICENSE = "LGPL-2.1-or-later" 9LICENSE = "LGPL-2.1-or-later"
10LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c" 10LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
11 11
12SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${@get_gst_ver("${PV}")}.tar.xz" 12SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.xz"
13 13
14SRC_URI[sha256sum] = "573931d455f5a96f63db7c8d35d51322b8d287816e8c6a77d84cfbb9fa1351f1" 14SRC_URI[sha256sum] = "d87c57244cecbd17bb030b698dcb67a66225de639f7c5b837391c4a8e5477667"
15 15
16S = "${UNPACKDIR}/${REALPN}-${@get_gst_ver('${PV}')}" 16S = "${UNPACKDIR}/${REALPN}-${PV}"
17DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" 17DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad"
18 18
19inherit meson pkgconfig features_check upstream-version-is-even 19inherit meson pkgconfig features_check upstream-version-is-even
20 20
21# Drop .imx from PV
22def get_gst_ver(v):
23 return oe.utils.trim_version(v, 3)
24
25REQUIRED_DISTRO_FEATURES ?= "opengl" 21REQUIRED_DISTRO_FEATURES ?= "opengl"
26 22
27EXTRA_OEMESON += " \ 23EXTRA_OEMESON += " \
diff --git a/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.imx.bb b/recipes-multimedia/gstreamer/gstreamer1.0_1.26.6.imx.bb
index 5b315ed7f..e602ff35c 100644
--- a/recipes-multimedia/gstreamer/gstreamer1.0_1.26.0.imx.bb
+++ b/recipes-multimedia/gstreamer/gstreamer1.0_1.26.6.imx.bb
@@ -20,8 +20,6 @@ inherit meson pkgconfig gettext upstream-version-is-even gobject-introspection p
20LIC_FILES_CHKSUM = "file://COPYING;md5=69333daa044cb77e486cc36129f7a770 \ 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}"
24
25SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ 23SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
26 file://run-ptest \ 24 file://run-ptest \
27 file://0001-tests-respect-the-idententaion-used-in-meson.patch \ 25 file://0001-tests-respect-the-idententaion-used-in-meson.patch \
@@ -93,17 +91,15 @@ LIC_FILES_CHKSUM = " \
93 91
94# Use i.MX fork of GST for customizations 92# Use i.MX fork of GST for customizations
95SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \ 93SRC_URI:remove = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.xz \
96 file://0001-tests-respect-the-idententaion-used-in-meson.patch \ 94 file://0001-tests-respect-the-idententaion-used-in-meson.patch \
97 file://0002-tests-add-support-for-install-the-tests.patch \ 95 file://0002-tests-add-support-for-install-the-tests.patch \
98 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \ 96 file://0003-tests-use-a-dictionaries-for-environment.patch;striplevel=3 \
99 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \ 97 file://0004-tests-add-helper-script-to-run-the-installed_tests.patch;striplevel=3 \
100" 98"
101SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} " 99SRC_URI:prepend = "${GST1.0_SRC};branch=${SRCBRANCH} "
102GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https" 100GST1.0_SRC ?= "gitsm://github.com/nxp-imx/gstreamer.git;protocol=https"
103SRCBRANCH = "MM_04.10.0_2505_L6.12.20" 101SRCBRANCH = "MM_04.10.03_2512_L6.18.2"
104SRCREV = "dba94b66ed28cc6537608a68c31c8be52f6f53a5" 102SRCREV = "524a14c8906597f4fd302190adbd3a8af3572866"
105
106S = "${UNPACKDIR}/${BP}"
107 103
108PACKAGECONFIG[tests] = "-Dtests=enabled,-Dtests=disabled" 104PACKAGECONFIG[tests] = "-Dtests=enabled,-Dtests=disabled"
109 105
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-gplay2-fix-termio.h-no-longer-existing.patch b/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-gplay2-fix-termio.h-no-longer-existing.patch
deleted file mode 100644
index cb314b38d..000000000
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin/0001-gplay2-fix-termio.h-no-longer-existing.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From b88aec4d7a8c8993c8c75f002a1f2af1635337d1 Mon Sep 17 00:00:00 2001
2From: Max Krummenacher <max.krummenacher@toradex.com>
3Date: Sat, 9 Aug 2025 08:20:50 +0000
4Subject: [PATCH] gplay2: fix termio.h no longer existing
5
6glibc 2.42 removed the long deprecated termio.h header which
7in 2.41 only included termios.h and sys/ioctl.h. [1]
8
9Replacing it with sys/ioctl.h seems to provide all the needed
10declaration for successfully compiling.
11
12[1] https://sourceware.org/git/?p=glibc.git;a=blob;f=NEWS#l91
13
14Upstream-Status: Pending
15Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
16---
17 tools/gplay2/gplay2.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/tools/gplay2/gplay2.c b/tools/gplay2/gplay2.c
21index 9e406b9ea8c7..98b3ee5cf666 100755
22--- a/tools/gplay2/gplay2.c
23+++ b/tools/gplay2/gplay2.c
24@@ -26,7 +26,7 @@
25 */
26
27
28-#include <termio.h>
29+#include <sys/ioctl.h>
30 #include <unistd.h>
31 #include <pthread.h>
32 #include <stdio.h>
33--
342.42.0
35
diff --git a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
index 2ba8fdd1d..48d84cead 100644
--- a/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
+++ b/recipes-multimedia/gstreamer/imx-gst1.0-plugin_git.bb
@@ -1,8 +1,7 @@
1# Copyright (C) 2014,2016 Freescale Semiconductor 1# Copyright (C) 2014,2016 Freescale Semiconductor
2# Copyright 2017-2021 NXP 2# Copyright 2017-2025 NXP
3# Copyright (C) 2012-2015 O.S. Systems Software LTDA. 3# Copyright (C) 2012-2015 O.S. Systems Software LTDA.
4# Released under the MIT license (see COPYING.MIT for the terms) 4# Released under the MIT license (see COPYING.MIT for the terms)
5
6DESCRIPTION = "Gstreamer freescale plugins" 5DESCRIPTION = "Gstreamer freescale plugins"
7SECTION = "multimedia" 6SECTION = "multimedia"
8LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only" 7LICENSE = "GPL-2.0-only & LGPL-2.0-only & LGPL-2.1-only"
@@ -15,11 +14,13 @@ DEPENDS = " \
15 imx-codec \ 14 imx-codec \
16 imx-parser \ 15 imx-parser \
17 ${DEPENDS_IMXGPU} \ 16 ${DEPENDS_IMXGPU} \
17 libinput \
18" 18"
19DEPENDS:append:mx6-nxp-bsp = " imx-lib" 19DEPENDS:append:mx6-nxp-bsp = " imx-lib"
20DEPENDS:append:mx7-nxp-bsp = " imx-lib" 20DEPENDS:append:mx7-nxp-bsp = " imx-lib"
21DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib" 21DEPENDS:append:mx8ulp-nxp-bsp = " imx-lib"
22DEPENDS:append:mx93-nxp-bsp = " imx-lib" 22DEPENDS:append:mx93-nxp-bsp = " imx-lib"
23DEPENDS:append:mx943-nxp-bsp = " imx-lib"
23DEPENDS:append:imxvpu = " imx-vpuwrap" 24DEPENDS:append:imxvpu = " imx-vpuwrap"
24DEPENDS:append:imxfbdev:imxgpu = " libdrm" 25DEPENDS:append:imxfbdev:imxgpu = " libdrm"
25DEPENDS_IMXGPU = "" 26DEPENDS_IMXGPU = ""
@@ -34,14 +35,13 @@ RREPLACES:${PN} = "gst1.0-fsl-plugin"
34RPROVIDES:${PN} = "gst1.0-fsl-plugin" 35RPROVIDES:${PN} = "gst1.0-fsl-plugin"
35RCONFLICTS:${PN} = "gst1.0-fsl-plugin" 36RCONFLICTS:${PN} = "gst1.0-fsl-plugin"
36 37
37PV = "4.10.0+git${SRCPV}" 38PV = "4.10.3+git${SRCPV}"
39
40SRC_URI = "${IMXGST_SRC};branch=${SRCBRANCH}"
41IMXGST_SRC ?= "git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https"
42SRCBRANCH = "MM_04.10.03_2512_L6.18.2"
43SRCREV = "0565fc515612908a353e8378e24f97de17cc56a6"
38 44
39SRC_URI = " \
40 git://github.com/nxp-imx/imx-gst1.0-plugin.git;protocol=https;branch=${SRCBRANCH} \
41 file://0001-gplay2-fix-termio.h-no-longer-existing.patch \
42"
43SRCBRANCH = "MM_04.10.0_2505_L6.12.20"
44SRCREV = "6861aec99901375f5ebcd5170ce1f5232cd38fd6"
45 45
46inherit meson pkgconfig use-imx-headers 46inherit meson pkgconfig use-imx-headers
47 47
@@ -60,7 +60,7 @@ EXTRA_OEMESON = "-Dplatform=${PLATFORM} \
60 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \ 60 -Dc_args="${CFLAGS} -I${STAGING_INCDIR_IMX}" \
61" 61"
62 62
63PACKAGES =+ "${PN}-gplay ${PN}-libgplaycore ${PN}-libgstfsl ${PN}-grecorder ${PN}-librecorder-engine ${PN}-libplayengine" 63PACKAGES =+ "${PN}-tools ${PN}-libgstfsl"
64 64
65# Add codec list that the beep plugin run-time depended 65# Add codec list that the beep plugin run-time depended
66BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis" 66BEEP_RDEPENDS = "imx-codec-aac imx-codec-mp3 imx-codec-oggvorbis"
@@ -86,12 +86,9 @@ FILES:${PN} = "${libdir}/gstreamer-1.0/*.so ${datadir}"
86 86
87FILES:${PN}-dbg += "${libdir}/gstreamer-1.0/.debug" 87FILES:${PN}-dbg += "${libdir}/gstreamer-1.0/.debug"
88FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc" 88FILES:${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/pkgconfig/*.pc"
89FILES:${PN}-staticdev += "${libdir}/gstreamer-1.0/*.a" 89FILES:${PN}-tools += "${bindir}/* ${libdir}/librecorder_engine-1.0${SOLIBS}"
90FILES:${PN}-gplay = "${bindir}/gplay-1.0"
91FILES:${PN}-libgplaycore = "${libdir}/libgplaycore-1.0${SOLIBS}"
92FILES:${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}" 90FILES:${PN}-libgstfsl = "${libdir}/libgstfsl-1.0${SOLIBS}"
93FILES:${PN}-grecorder = "${bindir}/grecorder-1.0" 91
94FILES:${PN}-librecorder-engine = "${libdir}/librecorder_engine-1.0${SOLIBS}" 92INSANE_SKIP:${PN} = "build-deps"
95FILES:${PN}-libplayengine = "${libdir}/libplayengine-1.0${SOLIBS}"
96 93
97COMPATIBLE_MACHINE = "(imx-nxp-bsp)" 94COMPATIBLE_MACHINE = "(imx-nxp-bsp)"
diff --git a/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.8.0.bb b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.11.0.bb
index cf4e4d182..eca003737 100644
--- a/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.8.0.bb
+++ b/recipes-multimedia/imx-opencl-converter/imx-opencl-converter_0.11.0.bb
@@ -2,13 +2,13 @@
2DESCRIPTION = "NXP Multimedia opencl converter lib" 2DESCRIPTION = "NXP Multimedia opencl converter lib"
3LICENSE = "Proprietary" 3LICENSE = "Proprietary"
4SECTION = "multimedia" 4SECTION = "multimedia"
5LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359" 5LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac"
6DEPENDS = "virtual/libopencl1" 6DEPENDS = "virtual/libopencl1"
7 7
8SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" 8SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
9IMX_SRCREV_ABBREV = "b81b785" 9IMX_SRCREV_ABBREV = "84ed303"
10 10
11SRC_URI[sha256sum] = "a4dee08d5949d41cb9c61d44ce0b5a055b9416129216f9d36d0bc6d9e512ab64" 11SRC_URI[sha256sum] = "e8813c18e3f65caab2036c1f608b8b7def8314b0f01c830ea696cb1aeb92cc7c"
12 12
13S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}" 13S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
14inherit fsl-eula-unpack autotools pkgconfig meson 14inherit fsl-eula-unpack autotools pkgconfig meson
diff --git a/recipes-multimedia/imx-parser/imx-parser_4.10.0.bb b/recipes-multimedia/imx-parser/imx-parser_4.10.3.bb
index 60add6e33..d8f002e64 100644
--- a/recipes-multimedia/imx-parser/imx-parser_4.10.0.bb
+++ b/recipes-multimedia/imx-parser/imx-parser_4.10.3.bb
@@ -5,7 +5,7 @@
5DESCRIPTION = "Freescale Multimedia parser libs" 5DESCRIPTION = "Freescale Multimedia parser libs"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7SECTION = "multimedia" 7SECTION = "multimedia"
8LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359" 8LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac"
9 9
10# For backwards compatibility 10# For backwards compatibility
11PROVIDES += "libfslparser" 11PROVIDES += "libfslparser"
@@ -14,10 +14,10 @@ RPROVIDES:${PN} = "libfslparser"
14RCONFLICTS:${PN} = "libfslparser" 14RCONFLICTS:${PN} = "libfslparser"
15 15
16SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true" 16SRC_URI = "${FSL_MIRROR}/${BP}-${IMX_SRCREV_ABBREV}.bin;fsl-eula=true"
17IMX_SRCREV_ABBREV = "e8a7ec7" 17IMX_SRCREV_ABBREV = "65603f3"
18S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}" 18S = "${UNPACKDIR}/${BP}-${IMX_SRCREV_ABBREV}"
19 19
20SRC_URI[sha256sum] = "90b4b7f7c3cffc9d57774dbb06e37d810a2618e059f30244e1b4155fb9bc82d5" 20SRC_URI[sha256sum] = "03079bb0fa989dc50fadb66a0fcc7cf65423833c3def04085603d4b66e8f8c70"
21 21
22inherit fsl-eula-unpack autotools pkgconfig 22inherit fsl-eula-unpack autotools pkgconfig
23 23
diff --git a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
index 1ad735152..dae99cb13 100644
--- a/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
+++ b/recipes-multimedia/imx-vpuwrap/imx-vpuwrap_git.bb
@@ -5,14 +5,15 @@
5DESCRIPTION = "Freescale Multimedia VPU wrapper" 5DESCRIPTION = "Freescale Multimedia VPU wrapper"
6LICENSE = "Proprietary" 6LICENSE = "Proprietary"
7SECTION = "multimedia" 7SECTION = "multimedia"
8LIC_FILES_CHKSUM = "file://COPYING;md5=a93b654673e1bc8398ed1f30e0813359" 8LIC_FILES_CHKSUM = "file://COPYING;md5=bc649096ad3928ec06a8713b8d787eac"
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 = "${IMX_VPUWRAP_SRC};branch=${SRCBRANCH}"
14SRCBRANCH = "MM_04.10.0_2505_L6.12.20" 14IMX_VPUWRAP_SRC ?= "git://github.com/NXP/imx-vpuwrap.git;protocol=https"
15SRCREV = "feeb9109a027d3a0f040b0bddb5f79a1daad3587" 15SRCBRANCH = "MM_04.10.03_2512_L6.18.2"
16SRCREV = "1d2136e39789edb1eff730043caf2305ee2c173e"
16 17
17inherit autotools pkgconfig 18inherit autotools pkgconfig
18 19
diff --git a/recipes-multimedia/libcamera/libcamera_0.6.0.imx.bb b/recipes-multimedia/libcamera/libcamera_0.6.0.imx.bb
new file mode 100644
index 000000000..6b811b5f1
--- /dev/null
+++ b/recipes-multimedia/libcamera/libcamera_0.6.0.imx.bb
@@ -0,0 +1,115 @@
1# This recipe is for the i.MX fork of libcamera. For ease of
2# maintenance, the top section is a verbatim copy of an OE-core
3# recipe. The second section customizes the recipe for i.MX.
4
5########### meta-openembedded copy ##################
6# Upstream hash: f4b9dfa0c903bc94c344c657917a3fbb229c322f
7
8SUMMARY = "Linux libcamera framework"
9SECTION = "libs"
10
11LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
12
13LIC_FILES_CHKSUM = "\
14 file://LICENSES/GPL-2.0-or-later.txt;md5=fed54355545ffd980b814dab4a3b312c \
15 file://LICENSES/LGPL-2.1-or-later.txt;md5=2a4f4fd2128ea2f65047ee63fbca9f68 \
16"
17
18SRC_URI = " \
19 git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master;tag=v${PV} \
20"
21
22SRCREV = "3e6f5d83e397e11cccd3844e121463748f56de39"
23
24PE = "1"
25
26DEPENDS = "python3-pyyaml-native python3-jinja2-native python3-ply-native python3-jinja2-native udev gnutls chrpath-native libevent libyaml"
27DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'qt', 'qtbase qtbase-native', '', d)}"
28
29PACKAGES =+ "${PN}-gst ${PN}-pycamera"
30
31PACKAGECONFIG ??= ""
32PACKAGECONFIG[dng] = ",,tiff"
33PACKAGECONFIG[gst] = "-Dgstreamer=enabled,-Dgstreamer=disabled,gstreamer1.0 gstreamer1.0-plugins-base"
34PACKAGECONFIG[pycamera] = "-Dpycamera=enabled,-Dpycamera=disabled,python3 python3-pybind11"
35PACKAGECONFIG[raspberrypi] = ",,libpisp"
36
37# Raspberry Pi requires the meta-raspberrypi layer
38# These values are coming from the project's meson.build file,
39# which lists the supported values by arch.
40ARM_PIPELINES = "${@bb.utils.contains('PACKAGECONFIG', 'raspberrypi', 'rpi/pisp,rpi/vc4,', '', d)}"
41ARM_PIPELINES .= "imx8-isi,mali-c55,simple,uvcvideo"
42
43LIBCAMERA_PIPELINES ??= "auto"
44LIBCAMERA_PIPELINES:arm ??= "${ARM_PIPELINES}"
45LIBCAMERA_PIPELINES:aarch64 ??= "${ARM_PIPELINES}"
46
47EXTRA_OEMESON = " \
48 -Dpipelines=${LIBCAMERA_PIPELINES} \
49 -Dv4l2=true \
50 -Dcam=enabled \
51 -Dlc-compliance=disabled \
52 -Dtest=false \
53 -Ddocumentation=disabled \
54"
55
56RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland qt', 'qtwayland', '', d)}"
57
58inherit meson pkgconfig python3native
59
60do_configure:prepend() {
61 sed -i -e 's|py_compile=True,||' ${S}/utils/codegen/ipc/mojo/public/tools/mojom/mojom/generate/template_expander.py
62}
63
64do_install:append() {
65 chrpath -d ${D}${libdir}/libcamera.so
66 chrpath -d ${D}${libexecdir}/libcamera/v4l2-compat.so
67}
68
69do_package:append() {
70 bb.build.exec_func("do_package_recalculate_ipa_signatures", d)
71}
72
73do_package_recalculate_ipa_signatures() {
74 local modules
75 for module in $(find ${PKGD}/usr/lib/libcamera -name "*.so.sign"); do
76 module="${module%.sign}"
77 if [ -f "${module}" ] ; then
78 modules="${modules} ${module}"
79 fi
80 done
81
82 ${S}/src/ipa/ipa-sign-install.sh ${B}/src/ipa-priv-key.pem "${modules}"
83}
84
85FILES:${PN} += " ${libexecdir}/libcamera/v4l2-compat.so"
86FILES:${PN}-gst = "${libdir}/gstreamer-1.0"
87FILES:${PN}-pycamera = "${PYTHON_SITEPACKAGES_DIR}/libcamera"
88
89# libcamera-v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
90# both 32 and 64 bit file APIs.
91GLIBC_64BIT_TIME_FLAGS = ""
92########### End of meta-openembedded copy ###########
93
94########### i.MX overrides ################
95
96SRC_URI:remove = "git://git.libcamera.org/libcamera/libcamera.git;protocol=https;branch=master;tag=v${PV}"
97SRC_URI:prepend = "${LIBCAMERA_SRC};branch=${SRCBRANCH} "
98LIBCAMERA_SRC ?= "git://github.com/nxp-imx/libcamera.git;protocol=https"
99SRCBRANCH = "lf-6.18.2_1.0.0"
100SRCREV = "3e6f5d83e397e11cccd3844e121463748f56de39"
101
102PACKAGECONFIG = "gst pycamera dng"
103
104ARM_PIPELINES .= ",nxp/neo"
105
106EXTRA_OEMESON += " \
107 --python.platlibdir=${PYTHON_SITEPACKAGES_DIR} \
108"
109
110# Qt installs native tools to /usr/libexec, but this is not in PATH
111PATH:prepend = "${@bb.utils.contains('DISTRO_FEATURES', 'qt', '${STAGING_LIBEXECDIR_NATIVE}:', '', d)}"
112
113COMPATIBLE_MACHINE = "(mx95-nxp-bsp|mx8mm-nxp-bsp|mx8ulp-nxp-bsp|mx8mq-nxp-bsp)"
114
115########### End of i.MX overrides #########
diff --git a/recipes-multimedia/libcamera/neo-ipa-uguzzi_0.2.6.bb b/recipes-multimedia/libcamera/neo-ipa-uguzzi_0.2.6.bb
new file mode 100644
index 000000000..88b9a1d0e
--- /dev/null
+++ b/recipes-multimedia/libcamera/neo-ipa-uguzzi_0.2.6.bb
@@ -0,0 +1,35 @@
1SUMMARY = "uGuzzi IPA for the libcamera NXP NEO pipeline"
2DESCRIPTION = "\
3An Image Processing Algorithm library for libcamera, for i.MX95 ISP, \
4based on proprietary MM Solutions EAD uGuzzi 3A library"
5SECTION = "libs"
6LICENSE = "Apache-2.0 & BSD-2-Clause & GPL-2.0-or-later & LGPL-2.1-or-later & MIT & Proprietary"
7# Put EULA on separate line for automated recipe updates
8LIC_FILES_CHKSUM = "file://LICENSES/LA_OPT_NXP_Software_License.txt;md5=bc649096ad3928ec06a8713b8d787eac"
9LIC_FILES_CHKSUM += " \
10 file://COPYING;md5=6462e06298403caf09a22e67a7cc551a \
11 file://LICENSES/Apache-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
12 file://LICENSES/BSD-2-Clause.txt;md5=63d6ee386b8aaba70b1bf15a79ca50f2 \
13 file://LICENSES/GPL-2.0-or-later.txt;md5=fed54355545ffd980b814dab4a3b312c \
14 file://LICENSES/LGPL-2.1-or-later.txt;md5=3c328714bf889b2c3c7cd842e3e4893b \
15 file://LICENSES/MIT.txt;md5=38aa75cf4c4c87f018227d5ec9638d75 "
16DEPENDS = "libcamera"
17
18SRC_URI = "${NEO_IPA_UGUZZI_SRC};branch=${SRCBRANCH}"
19NEO_IPA_UGUZZI_SRC ?= "git://github.com/nxp-imx/neo-ipa-uguzzi;protocol=https"
20SRCBRANCH = "lf-6.18.2_1.0.0"
21SRCREV = "3c3b18e397a81fac2babe14dca01f4ada1ecc8b2"
22
23
24inherit meson pkgconfig
25
26FILES:${PN} += "${libdir}/libcamera ${datadir}/libcamera"
27
28# Libraries are unversioned
29SOLIBS = ".so"
30FILES_SOLIBSDEV = ""
31
32# Pre-built binaries are already stripped, so skip the QA test
33INSANE_SKIP:${PN} = "already-stripped"
34
35COMPATIBLE_MACHINE = "(mx95-generic-bsp)"
diff --git a/recipes-multimedia/nxp-afe/nxp-afe-voiceseeker_git.bb b/recipes-multimedia/nxp-afe/nxp-afe-voiceseeker_git.bb
index 7afa44cb1..f29011601 100644
--- a/recipes-multimedia/nxp-afe/nxp-afe-voiceseeker_git.bb
+++ b/recipes-multimedia/nxp-afe/nxp-afe-voiceseeker_git.bb
@@ -9,12 +9,13 @@ inherit pkgconfig
9 9
10DEPENDS += "alsa-lib nxp-afe" 10DEPENDS += "alsa-lib nxp-afe"
11 11
12PV = "2.0+git" 12SRCBRANCH = "MM_04.10.03_2512_L6.18.2"
13PV = "2.0+${SRCPV}"
13 14
14SRCBRANCH = "MM_04.10.0_2505_L6.12.20" 15NXPAFE_VOICESEEKER_SRC ?= "git://github.com/nxp-imx/imx-voiceui.git;protocol=https"
15SRC_URI = "git://github.com/nxp-imx/imx-voiceui.git;protocol=https;branch=${SRCBRANCH}" 16SRC_URI = "${NXPAFE_VOICESEEKER_SRC};branch=${SRCBRANCH}"
16 17
17SRCREV = "737c156469eeede28fe1a0777c968becf6fea886" 18SRCREV = "94639a8ea4a65a218f60b900269a7dc4bf97fefb"
18 19
19EXTRA_CONF = "--enable-armv8 --bindir=/unit_tests/ --libdir=${libdir}" 20EXTRA_CONF = "--enable-armv8 --bindir=/unit_tests/ --libdir=${libdir}"
20 21
diff --git a/recipes-multimedia/nxp-afe/nxp-afe_git.bb b/recipes-multimedia/nxp-afe/nxp-afe_git.bb
index a401bedeb..5ac5d374a 100644
--- a/recipes-multimedia/nxp-afe/nxp-afe_git.bb
+++ b/recipes-multimedia/nxp-afe/nxp-afe_git.bb
@@ -6,20 +6,16 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=7bdef19938f3503cfc4c586461f99012"
6 6
7PV = "1.0+git" 7PV = "1.0+git"
8 8
9SRCBRANCH = "MM_04.10.0_2505_L6.12.20" 9SRCBRANCH = "MM_04.10.03_2512_L6.18.2"
10SRC_URI = " git://github.com/nxp-imx/nxp-afe.git;protocol=https;branch=${SRCBRANCH}" 10NXPAFE_SRC ?= "git://github.com/nxp-imx/nxp-afe.git;protocol=https"
11SRC_URI = " ${NXPAFE_SRC};branch=${SRCBRANCH}"
11 12
12SRCREV = "c6b8fee21376e724b8441f3cf6c04dee69b5242e" 13SRCREV = "7d518eb0b18f7c7faadeb3c3397f8b73f0012f3e"
13 14
14DEPENDS += "alsa-lib" 15DEPENDS += "alsa-lib"
15 16
16TARGET_CC_ARCH += "${LDFLAGS}" 17TARGET_CC_ARCH += "${LDFLAGS}"
17 18
18do_compile() {
19 oe_runmake clean
20 oe_runmake all
21}
22
23do_install() { 19do_install() {
24 install -d ${D}${libdir}/nxp-afe 20 install -d ${D}${libdir}/nxp-afe
25 install -d ${D}/unit_tests/nxp-afe 21 install -d ${D}/unit_tests/nxp-afe
@@ -33,3 +29,4 @@ do_install() {
33 29
34FILES:${PN} += "/unit_tests" 30FILES:${PN} += "/unit_tests"
35INSANE_SKIP:${PN} += "dev-so" 31INSANE_SKIP:${PN} += "dev-so"
32INSANE_SKIP:${PN}-dbg += "buildpaths"