diff options
Diffstat (limited to 'media-video/pipewire/files')
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 |