summaryrefslogtreecommitdiffstats
path: root/meta-multimedia/recipes-multimedia/pipewire
diff options
context:
space:
mode:
authorMarkus Volk <f_l_k@t-online.de>2026-03-18 18:46:58 +0100
committerKhem Raj <raj.khem@gmail.com>2026-03-18 14:33:34 -0700
commit5925a6108240f861c071648c7dd0e7c8dd897171 (patch)
tree52d2627c932e8b4d2c9bd65cad148abfcda98e65 /meta-multimedia/recipes-multimedia/pipewire
parent216b1c7cb2e49d8d54f14e3fdea5c5ca359f20a2 (diff)
downloadmeta-openembedded-5925a6108240f861c071648c7dd0e7c8dd897171.tar.gz
pipewire: update 1.6.0 -> 1.6.2
- remove two backport patches PipeWire 1.6.2 (2026-03-16) This is a bugfix release that is API and ABI compatible with the previous 1.6.x releases. Highlights - Fix a potential crash when the wrong memory was freed. - Fix a optimization with shared memory over some links that could cause errors later on. - Fix SOFA filter and default control input in LADSPA and LV2. - Some other small fixes and improvements. PipeWire - Remove an optimization to skip share mem in links, it causes problems later on. (#5159) Modules - Don't try to free invalid memory or close invalid fds when the client aborted before allocating buffer memory. (#5162) SPA - support ACP_IGNORE_DB in udev. - Use 0x as a prefix for hex values. - Mark Props as write-only in libcamera. - Small optimization in the audio mixer. - Fix initialization of control properties for SOFA and biquads in the filter-graph. (#5152) - Fix min/max default values for LADSPA and LV2. JACK - Fix jack_port_type_id(). Return values that are compatible with JACK1/2. Older versions: PipeWire 1.6.1 (2026-03-09) This is a bugfix release that is API and ABI compatible with the previous 1.6.x releases. Highlights - Fix socket activation, which could cause a failure to start PipeWire in some setups. - Fix crashes in many JACK apps when nodes/ports are quickly added/removed such as when there are notifications (like when changing the volume in KDE). - Fix playback of encoded formats in pw-cat again. - Some other smaller fixes and improvements. Modules - Fix socket activation. (#5140) - Remove node.link-group from driver nodes. SPA - Fix the libcamera stop sequence. JACK - Never return NULL from jack_port_by_id(). (#3512) GStreamer - Improve the timestamps on buffers. Tools - Fix playback of encoded formats. (#5155) Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-multimedia/recipes-multimedia/pipewire')
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-module-protocol-native-Fix-socket-activation.patch86
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-treewide-fix-some-Wdiscarded-qualifiers.patch89
-rw-r--r--meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.2.bb (renamed from meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.0.bb)6
3 files changed, 2 insertions, 179 deletions
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-module-protocol-native-Fix-socket-activation.patch b/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-module-protocol-native-Fix-socket-activation.patch
deleted file mode 100644
index c345067932..0000000000
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-module-protocol-native-Fix-socket-activation.patch
+++ /dev/null
@@ -1,86 +0,0 @@
1From f4e174870eb8cbe60c922d3bf181f3eb2347523c Mon Sep 17 00:00:00 2001
2From: Jonas Holmberg <jonashg@axis.com>
3Date: Mon, 2 Mar 2026 10:28:26 +0100
4Subject: [PATCH] module-protocol-native: Fix socket activation
5
6Fix path comparison in is_socket_unix() and don't unset LISTEN_FDS since
7the function that uses it is called more than once and it was not unset
8when sd_listen_fds() was used.
9
10Fixes #5140
11Upstream-Status: Backport
12[https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/f4e174870eb8cbe60c922d3bf181f3eb2347523c]
13---
14 src/modules/module-protocol-native.c | 2 +-
15 src/modules/module-protocol-pulse/server.c | 2 +-
16 src/modules/network-utils.h | 14 +++++---------
17 3 files changed, 7 insertions(+), 11 deletions(-)
18
19diff --git a/src/modules/module-protocol-native.c b/src/modules/module-protocol-native.c
20index 2be92a847..98a43829b 100644
21--- a/src/modules/module-protocol-native.c
22+++ b/src/modules/module-protocol-native.c
23@@ -907,7 +907,7 @@ static int add_socket(struct pw_protocol *protocol, struct server *s, struct soc
24 bool activated = false;
25
26 {
27- int i, n = listen_fd();
28+ int i, n = listen_fds();
29 for (i = 0; i < n; ++i) {
30 if (is_socket_unix(LISTEN_FDS_START + i, SOCK_STREAM,
31 s->addr.sun_path) > 0) {
32diff --git a/src/modules/module-protocol-pulse/server.c b/src/modules/module-protocol-pulse/server.c
33index aeab710b0..637757dfd 100644
34--- a/src/modules/module-protocol-pulse/server.c
35+++ b/src/modules/module-protocol-pulse/server.c
36@@ -576,7 +576,7 @@ static bool is_stale_socket(int fd, const struct sockaddr_un *addr_un)
37
38 static int check_socket_activation(const char *path)
39 {
40- const int n = listen_fd();
41+ const int n = listen_fds();
42
43 for (int i = 0; i < n; i++) {
44 const int fd = LISTEN_FDS_START + i;
45diff --git a/src/modules/network-utils.h b/src/modules/network-utils.h
46index a89b7d3bd..6ff80dd7a 100644
47--- a/src/modules/network-utils.h
48+++ b/src/modules/network-utils.h
49@@ -143,7 +143,7 @@ static inline bool pw_net_addr_is_any(struct sockaddr_storage *addr)
50
51 /* Returns the number of file descriptors passed for socket activation.
52 * Returns 0 if none, -1 on error. */
53-static inline int listen_fd(void)
54+static inline int listen_fds(void)
55 {
56 uint32_t n;
57 int i, flags;
58@@ -161,8 +161,6 @@ static inline int listen_fd(void)
59 return -1;
60 }
61
62- unsetenv("LISTEN_FDS");
63-
64 return (int)n;
65 }
66
67@@ -192,12 +190,10 @@ static inline int is_socket_unix(int fd, int type, const char *path)
68 if (addr.sun_family != AF_UNIX)
69 return 0;
70 size_t length = strlen(path);
71- if (length > 0) {
72- if (len < offsetof(struct sockaddr_un, sun_path) + length)
73- return 0;
74- if (memcmp(addr.sun_path, path, length) != 0)
75- return 0;
76- }
77+ if (len < offsetof(struct sockaddr_un, sun_path) + length + 1)
78+ return 0;
79+ if (memcmp(addr.sun_path, path, length + 1) != 0)
80+ return 0;
81 }
82
83 return 1;
84--
852.34.1
86
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-treewide-fix-some-Wdiscarded-qualifiers.patch b/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-treewide-fix-some-Wdiscarded-qualifiers.patch
deleted file mode 100644
index e8e677910b..0000000000
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire/0001-treewide-fix-some-Wdiscarded-qualifiers.patch
+++ /dev/null
@@ -1,89 +0,0 @@
1From fa64e2873682180eae5ce5bd02298fa6739cf005 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@protonmail.com>
3Date: Thu, 19 Feb 2026 20:56:36 +0100
4Subject: [PATCH] treewide: fix some `-Wdiscarded-qualifiers`
5
6Newer glibc versions have made certain `str*()` functions into macros
7that ensure that the const-ness of the argument is propagated to the
8return type.
9
10Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
11Upstream-Status: Backport [https://github.com/PipeWire/pipewire/commit/e46bfe67b60458e444ee2495209144b49e97d2f1]
12---
13 pipewire-jack/src/pipewire-jack.c | 2 +-
14 spa/plugins/bluez5/bluez5-dbus.c | 7 ++-----
15 spa/plugins/support/logger.c | 4 ++--
16 3 files changed, 5 insertions(+), 8 deletions(-)
17
18diff --git a/pipewire-jack/src/pipewire-jack.c b/pipewire-jack/src/pipewire-jack.c
19index 1bef74283..73627a67e 100644
20--- a/pipewire-jack/src/pipewire-jack.c
21+++ b/pipewire-jack/src/pipewire-jack.c
22@@ -5318,7 +5318,7 @@ int jack_set_freewheel(jack_client_t* client, int onoff)
23 pw_thread_loop_lock(c->context.loop);
24 str = pw_properties_get(c->props, PW_KEY_NODE_GROUP);
25 if (str != NULL) {
26- char *p = strstr(str, ",pipewire.freewheel");
27+ const char *p = strstr(str, ",pipewire.freewheel");
28 if (p == NULL)
29 p = strstr(str, "pipewire.freewheel");
30 if (p == NULL && onoff)
31diff --git a/spa/plugins/bluez5/bluez5-dbus.c b/spa/plugins/bluez5/bluez5-dbus.c
32index 21a5e53de..7dfe45911 100644
33--- a/spa/plugins/bluez5/bluez5-dbus.c
34+++ b/spa/plugins/bluez5/bluez5-dbus.c
35@@ -720,14 +720,12 @@ static const char *bap_features_get_uuid(struct bap_features *feat, size_t i)
36 /** Get feature name at \a i, or NULL if uuid doesn't match */
37 static const char *bap_features_get_name(struct bap_features *feat, size_t i, const char *uuid)
38 {
39- char *pos;
40-
41 if (i >= feat->dict.n_items)
42 return NULL;
43 if (!spa_streq(feat->dict.items[i].value, uuid))
44 return NULL;
45
46- pos = strchr(feat->dict.items[i].key, ':');
47+ const char *pos = strchr(feat->dict.items[i].key, ':');
48 if (!pos)
49 return NULL;
50 return pos + 1;
51@@ -1336,7 +1334,6 @@ static struct spa_bt_adapter *adapter_find(struct spa_bt_monitor *monitor, const
52 static int parse_modalias(const char *modalias, uint16_t *source, uint16_t *vendor,
53 uint16_t *product, uint16_t *version)
54 {
55- char *pos;
56 unsigned int src, i, j, k;
57
58 if (spa_strstartswith(modalias, "bluetooth:"))
59@@ -1346,7 +1343,7 @@ static int parse_modalias(const char *modalias, uint16_t *source, uint16_t *vend
60 else
61 return -EINVAL;
62
63- pos = strchr(modalias, ':');
64+ const char *pos = strchr(modalias, ':');
65 if (pos == NULL)
66 return -EINVAL;
67
68diff --git a/spa/plugins/support/logger.c b/spa/plugins/support/logger.c
69index c6e6ca4b8..6ea5f31b5 100644
70--- a/spa/plugins/support/logger.c
71+++ b/spa/plugins/support/logger.c
72@@ -73,7 +73,7 @@ impl_log_logtv(void *object,
73 char timestamp[18] = {0};
74 char topicstr[32] = {0};
75 char filename[64] = {0};
76- char location[1000 + RESERVED_LENGTH], *p, *s;
77+ char location[1000 + RESERVED_LENGTH], *p;
78 static const char * const levels[] = { "-", "E", "W", "I", "D", "T", "*T*" };
79 const char *prefix = "", *suffix = "";
80 int size, len;
81@@ -118,7 +118,7 @@ impl_log_logtv(void *object,
82
83
84 if (impl->line && line != 0) {
85- s = strrchr(file, '/');
86+ const char *s = strrchr(file, '/');
87 spa_scnprintf(filename, sizeof(filename), "[%16.16s:%5i %s()]",
88 s ? s + 1 : file, line, func);
89 }
diff --git a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.0.bb b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.2.bb
index 596e86845b..14e467fa33 100644
--- a/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.0.bb
+++ b/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.6.2.bb
@@ -12,11 +12,9 @@ LIC_FILES_CHKSUM = " \
12 12
13DEPENDS = "dbus ncurses" 13DEPENDS = "dbus ncurses"
14 14
15SRCREV = "700cea78dbe7564131d51b21a7795e2567ee048a" 15SRCREV = "95da54a482b68475958bbc3fa572a9c20df0df74"
16BRANCH = "${@oe.utils.trim_version('${PV}', 2)}" 16BRANCH = "${@oe.utils.trim_version('${PV}', 2)}"
17SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=${BRANCH};protocol=https;tag=${PV} \ 17SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=${BRANCH};protocol=https;tag=${PV}"
18 file://0001-treewide-fix-some-Wdiscarded-qualifiers.patch \
19 file://0001-module-protocol-native-Fix-socket-activation.patch"
20 18
21inherit meson pkgconfig systemd gettext useradd 19inherit meson pkgconfig systemd gettext useradd
22 20