summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZelan Zou <zelan.zou@nxp.com>2026-03-20 16:44:32 +0800
committerZelan Zou <zelan.zou@nxp.com>2026-03-23 10:46:20 +0800
commit35f03eaa2bbbe8cb2f5df14b764e2e296471c7cf (patch)
treea97ff732a0f45a47f76cc31530dbdc112c226935
parent8de52d3ce167d03c0b311f6ef3d6c2332af91ea3 (diff)
downloadmeta-freescale-35f03eaa2bbbe8cb2f5df14b764e2e296471c7cf.tar.gz
pipewire: Refresh patch
Signed-off-by: Zelan Zou <zelan.zou@nxp.com>
-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
5 files changed, 130 insertions, 46 deletions
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