summaryrefslogtreecommitdiff
path: root/media-video/pipewire/files
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/pipewire/files')
-rw-r--r--media-video/pipewire/files/0.3.70/parser-check-pointer.patch21
-rw-r--r--media-video/pipewire/files/0.3.71/jack-update-bufsize-samplerate.patch46
-rw-r--r--media-video/pipewire/files/0.3.72/001-opus-meson.patch95
-rw-r--r--media-video/pipewire/files/0.3.72/002-context-segfault-no-fallback.patch32
-rw-r--r--media-video/pipewire/files/0.3.73/0001-impl-node-remove-node-target-peers.patch30
-rw-r--r--media-video/pipewire/files/0.3.77/0002-pulse-prevent-duplicates.patch28
6 files changed, 28 insertions, 224 deletions
diff --git a/media-video/pipewire/files/0.3.70/parser-check-pointer.patch b/media-video/pipewire/files/0.3.70/parser-check-pointer.patch
deleted file mode 100644
index 7409d83e7ebb..000000000000
--- a/media-video/pipewire/files/0.3.70/parser-check-pointer.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/83d2e85f490ea97e4ae94b95f20dd06566a14c31
-
-From 83d2e85f490ea97e4ae94b95f20dd06566a14c31 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 20 Apr 2023 12:32:07 +0200
-Subject: [PATCH] parser: add extra check to make coverity happy
-
-Fixes !1473
---- a/spa/include/spa/pod/parser.h
-+++ b/spa/include/spa/pod/parser.h
-@@ -455,7 +455,7 @@ static inline int spa_pod_parser_getv(struct spa_pod_parser *parser, va_list arg
- const struct spa_pod *pod = NULL;
- const char *format;
-
-- if (ftype == SPA_TYPE_Object) {
-+ if (f && ftype == SPA_TYPE_Object) {
- uint32_t key = va_arg(args, uint32_t);
- const struct spa_pod_object *object;
-
---
-GitLab
diff --git a/media-video/pipewire/files/0.3.71/jack-update-bufsize-samplerate.patch b/media-video/pipewire/files/0.3.71/jack-update-bufsize-samplerate.patch
deleted file mode 100644
index 59fb89a3e017..000000000000
--- a/media-video/pipewire/files/0.3.71/jack-update-bufsize-samplerate.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3226
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/ce71b37b58d5e251ae7acda0799f696688df11c2
-
-From ce71b37b58d5e251ae7acda0799f696688df11c2 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Thu, 18 May 2023 09:59:26 +0200
-Subject: [PATCH] jack: update bufsize and samplerate when skipping notify
-
-When we skip the notify because we are not active or we don't have a
-callback, still update the buffer_size and sample_rate fields or else
-we will keep on trying forever.
-
-Fixes #3226
---- a/pipewire-jack/src/pipewire-jack.c
-+++ b/pipewire-jack/src/pipewire-jack.c
-@@ -1027,8 +1027,6 @@ static int queue_notify(struct client *c, int type, struct object *o, int arg1,
- struct notify *notify;
- bool emit = false;;
-
-- if ((type & NOTIFY_ACTIVE_FLAG) && !c->active)
-- return 0;
- switch (type) {
- case NOTIFY_TYPE_REGISTRATION:
- emit = c->registration_callback != NULL && o != NULL;
-@@ -1060,8 +1058,18 @@ static int queue_notify(struct client *c, int type, struct object *o, int arg1,
- default:
- break;
- }
-+ if ((type & NOTIFY_ACTIVE_FLAG) && !c->active)
-+ emit = false;
- if (!emit) {
-- pw_log_debug("%p: skip notify %d", c, type);
-+ switch (type) {
-+ case NOTIFY_TYPE_BUFFER_FRAMES:
-+ c->buffer_frames = arg1;
-+ break;
-+ case NOTIFY_TYPE_SAMPLE_RATE:
-+ c->sample_rate = arg1;
-+ break;
-+ }
-+ pw_log_debug("%p: skip notify %08x active:%d", c, type, c->active);
- if (o != NULL && arg1 == 0 && o->removing) {
- o->removing = false;
- free_object(c, o);
---
-GitLab
diff --git a/media-video/pipewire/files/0.3.72/001-opus-meson.patch b/media-video/pipewire/files/0.3.72/001-opus-meson.patch
deleted file mode 100644
index a505336e0a31..000000000000
--- a/media-video/pipewire/files/0.3.72/001-opus-meson.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 14ebb9a568f3d8e1351181300dda93099b52742c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?=
- <89q1r14hd@relay.firefox.com>
-Date: Mon, 26 Jun 2023 17:07:04 +0300
-Subject: [PATCH 1/2] spa/plugins/bluez5/meson: removed some unneeded redefines
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-As far as I can tell, the code in question was not doing anything there
-and was also breaking the new code elsewhere, so it was put on the
-chopping block. Don't mind the squirming tentacles.
-
-Signed-off-by: NiklÄvs Koļesņikovs <89q1r14hd@relay.firefox.com>
----
- spa/plugins/bluez5/meson.build | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-diff --git a/spa/plugins/bluez5/meson.build b/spa/plugins/bluez5/meson.build
-index e6c52ccc57..80493cfe61 100644
---- a/spa/plugins/bluez5/meson.build
-+++ b/spa/plugins/bluez5/meson.build
-@@ -118,16 +118,14 @@ endif
-
- if ldac_dep.found()
- ldac_args = codec_args
-- ldac_dep = [ ldac_dep ]
- if ldac_abr_dep.found()
- ldac_args += [ '-DENABLE_LDAC_ABR' ]
-- ldac_dep += ldac_abr_dep
- endif
- bluez_codec_ldac = shared_library('spa-codec-bluez5-ldac',
- [ 'a2dp-codec-ldac.c', 'media-codecs.c' ],
- include_directories : [ configinc ],
- c_args : ldac_args,
-- dependencies : [ spa_dep, ldac_dep ],
-+ dependencies : [ spa_dep, ldac_dep, ldac_abr_dep ],
- install : true,
- install_dir : spa_plugindir / 'bluez5')
- endif
-@@ -144,7 +142,6 @@ endif
-
- if get_option('bluez5-codec-opus').allowed() and opus_dep.found()
- opus_args = codec_args
-- opus_dep = [ opus_dep ]
- bluez_codec_opus = shared_library('spa-codec-bluez5-opus',
- [ 'a2dp-codec-opus.c', 'media-codecs.c' ],
- include_directories : [ configinc ],
---
-GitLab
-
-
-From 23a10a8abb324809d1ebc5d33e36cdfa570390ed Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Nikl=C4=81vs=20Ko=C4=BCes=C5=86ikovs?=
- <89q1r14hd@relay.firefox.com>
-Date: Mon, 26 Jun 2023 16:35:01 +0300
-Subject: [PATCH 2/2] src/modules/meson: ensure Opus libs were actually found,
- too
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The old way fails, if a distro has the header but not the library,
-which can happen on at least Gentoo with multilib deployments,
-where the shared header is present but non-native libraries might not.
-
-This could still fail, if a distro had some but not all libraries for
-some architectures but hopefully no one did that. In that case, a compile
-test would likely be required via cc.check_header() instead but let's try
-the faster fix first.
-
-Reported-by: Sam James <sam@gentoo.org>
-Thanks-to: Barnabás Pőcze <pobrn@protonmail.com>
-Thanks-to: Xavier Claessens <xavier.claessens@collabora.com>
-Signed-off-by: NiklÄvs Koļesņikovs <89q1r14hd@relay.firefox.com>
----
- src/modules/meson.build | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/modules/meson.build b/src/modules/meson.build
-index 342bd697b1..970e04db98 100644
---- a/src/modules/meson.build
-+++ b/src/modules/meson.build
-@@ -203,7 +203,8 @@ endif
- summary({'ffado-driver': build_module_ffado_driver}, bool_yn: true, section: 'Optional Modules')
-
- opus_custom_h = cc.has_header('opus/opus_custom.h', dependencies: opus_dep)
--if opus_custom_h
-+# One would imagine that opus_dep is a requirement but for some reason it's not, so we need to manually check that
-+if opus_dep.found() and opus_custom_h
- opus_custom_dep = declare_dependency(compile_args: ['-DHAVE_OPUS_CUSTOM'], dependencies: opus_dep)
- else
- opus_custom_dep = dependency('', required: false)
---
-GitLab
diff --git a/media-video/pipewire/files/0.3.72/002-context-segfault-no-fallback.patch b/media-video/pipewire/files/0.3.72/002-context-segfault-no-fallback.patch
deleted file mode 100644
index 41998db7ec58..000000000000
--- a/media-video/pipewire/files/0.3.72/002-context-segfault-no-fallback.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/4df753d0d7af7e68ab16ee90b94c4ddd44506074
-
-From 4df753d0d7af7e68ab16ee90b94c4ddd44506074 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Mon, 26 Jun 2023 16:11:33 +0200
-Subject: [PATCH] context: avoid segfault when no fallback driver
-
-In some cases, there might not be a fallback driver. Handle this without
-segfaulting.
----
- src/pipewire/context.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/pipewire/context.c b/src/pipewire/context.c
-index daf13c16b..5fd0cdec9 100644
---- a/src/pipewire/context.c
-+++ b/src/pipewire/context.c
-@@ -1327,11 +1327,11 @@ again:
- if ((t->want_driver && t->active && t->runnable) ||
- t->always_process) {
- driver = target;
-- driver->runnable = true;
- break;
- }
- }
- if (driver != NULL) {
-+ driver->runnable = true;
- /* driver needed for this group */
- move_to_driver(context, &collect, driver);
- } else {
---
-GitLab
diff --git a/media-video/pipewire/files/0.3.73/0001-impl-node-remove-node-target-peers.patch b/media-video/pipewire/files/0.3.73/0001-impl-node-remove-node-target-peers.patch
deleted file mode 100644
index fac8233ee916..000000000000
--- a/media-video/pipewire/files/0.3.73/0001-impl-node-remove-node-target-peers.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/4456f2efd16d6190989a903f70f4419c2ca4c819
-https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3316
-https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3345
-
-From 4456f2efd16d6190989a903f70f4419c2ca4c819 Mon Sep 17 00:00:00 2001
-From: Wim Taymans <wtaymans@redhat.com>
-Date: Mon, 10 Jul 2023 16:59:17 +0200
-Subject: [PATCH] impl-node: remove the node from the target peers
-
-When we destroy a node, we need to remove the node as a current
-driver peer.
-
-Not doing this has 2 problems:
-- remote drivers still trigger our node
-- the client-node does not clean up the memid for the activation and
- we might reuse it later for a new node with the same fd.
-
-See #3316
---- a/src/pipewire/impl-node.c
-+++ b/src/pipewire/impl-node.c
-@@ -1983,6 +1983,7 @@ void pw_impl_node_destroy(struct pw_impl_node *node)
-
- /* remove ourself as a follower from the driver node */
- spa_list_remove(&node->follower_link);
-+ pw_impl_node_emit_peer_removed(node->driver_node, node);
- remove_segment_owner(node->driver_node, node->info.id);
-
- spa_list_consume(follower, &node->follower_list, follower_link) {
---
-GitLab
diff --git a/media-video/pipewire/files/0.3.77/0002-pulse-prevent-duplicates.patch b/media-video/pipewire/files/0.3.77/0002-pulse-prevent-duplicates.patch
new file mode 100644
index 000000000000..5a0fcde67fed
--- /dev/null
+++ b/media-video/pipewire/files/0.3.77/0002-pulse-prevent-duplicates.patch
@@ -0,0 +1,28 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/820ca90705ae78124958f1b96de3bdc7889c2d1e
+https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3414
+
+From 820ca90705ae78124958f1b96de3bdc7889c2d1e Mon Sep 17 00:00:00 2001
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Tue, 8 Aug 2023 13:01:30 +0200
+Subject: [PATCH] pulse-server: set all change_mask flags when removing
+
+So that the logic to emit events will select sink and source objects.
+
+Fixes #3414
+--- a/src/modules/module-protocol-pulse/manager.c
++++ b/src/modules/module-protocol-pulse/manager.c
+@@ -641,9 +641,10 @@ static void registry_event_global_remove(void *data, uint32_t id)
+
+ o->this.removing = true;
+
+- if (!o->this.creating)
++ if (!o->this.creating) {
++ o->this.change_mask = ~0;
+ manager_emit_removed(m, &o->this);
+-
++ }
+ object_destroy(o);
+ }
+
+--
+GitLab