From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 40FFA15ACFB for ; Tue, 18 Apr 2023 11:11:10 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 804C3E0940; Tue, 18 Apr 2023 11:11:09 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 49D63E0940 for ; Tue, 18 Apr 2023 11:11:09 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 26744335D84 for ; Tue, 18 Apr 2023 11:11:08 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 6E971A1C for ; Tue, 18 Apr 2023 11:11:05 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1681816230.0ae1d3c9175e02ef29cbc72113ccb6b09db12afb.sam@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: media-video/pipewire/, media-video/pipewire/files/0.3.69/ X-VCS-Repository: repo/gentoo X-VCS-Files: media-video/pipewire/files/0.3.69/0001-context-improve-state-calculations.patch media-video/pipewire/files/0.3.69/0002-revert-alsa-mixer-control-element.patch media-video/pipewire/files/0.3.69/0003-filter-chain-biquads.patch media-video/pipewire/pipewire-0.3.69-r1.ebuild media-video/pipewire/pipewire-0.3.69.ebuild X-VCS-Directories: media-video/pipewire/ media-video/pipewire/files/0.3.69/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: 0ae1d3c9175e02ef29cbc72113ccb6b09db12afb X-VCS-Branch: master Date: Tue, 18 Apr 2023 11:11:05 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 2386c3b3-df07-42a3-b4c3-833fab2780bf X-Archives-Hash: 7da3bfdc020c6d70a2ecf41299675d99 commit: 0ae1d3c9175e02ef29cbc72113ccb6b09db12afb Author: Sam James gentoo org> AuthorDate: Tue Apr 18 11:10:30 2023 +0000 Commit: Sam James gentoo org> CommitDate: Tue Apr 18 11:10:30 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0ae1d3c9 media-video/pipewire: backport recommended aptches to 0.3.69 Closes: https://bugs.gentoo.org/904507 Signed-off-by: Sam James gentoo.org> .../0001-context-improve-state-calculations.patch | 59 ++++++++++++++++++++++ .../0002-revert-alsa-mixer-control-element.patch | 38 ++++++++++++++ .../files/0.3.69/0003-filter-chain-biquads.patch | 21 ++++++++ ...ire-0.3.69.ebuild => pipewire-0.3.69-r1.ebuild} | 0 4 files changed, 118 insertions(+) diff --git a/media-video/pipewire/files/0.3.69/0001-context-improve-state-calculations.patch b/media-video/pipewire/files/0.3.69/0001-context-improve-state-calculations.patch new file mode 100644 index 000000000000..29469205cf48 --- /dev/null +++ b/media-video/pipewire/files/0.3.69/0001-context-improve-state-calculations.patch @@ -0,0 +1,59 @@ +https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a275e825c75c93775baaeb17479e38d035d9b79a + +From a275e825c75c93775baaeb17479e38d035d9b79a Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Fri, 14 Apr 2023 12:01:03 +0200 +Subject: [PATCH] context: improve state calculations + +Always make peers of non-passive links runnable, even if we already +visited the peer node. This makes non-passive links between drivers set the +drivers to runnable. (midi-bridge, source to sink). It also makes nodes +collected from the (link-)group runnable when they are linked together. + +To calculate the runnable state of the other nodes, only start from +non-driver runnable nodes (like we already did when following links). + +This makes a link from echo-cancel-source to echo-cancel-sink activate +the echo-canceler chain instead of staying idle. +--- a/src/pipewire/context.c ++++ b/src/pipewire/context.c +@@ -788,9 +788,6 @@ static inline int run_nodes(struct pw_context *context, struct pw_impl_node *nod + struct pw_impl_port *p; + struct pw_impl_link *l; + +- if (!node->runnable) +- return 0; +- + pw_log_debug("node %p: '%s'", node, node->name); + + spa_list_for_each(p, &node->input_ports, link) { +@@ -885,7 +882,7 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node, + + pw_impl_link_prepare(l); + +- if (!l->prepared || (t != n && t->visited)) ++ if (!l->prepared) + continue; + + if (!l->passive) +@@ -906,7 +903,7 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node, + + pw_impl_link_prepare(l); + +- if (!l->prepared || (t != n && t->visited)) ++ if (!l->prepared) + continue; + + if (!l->passive) +@@ -936,7 +933,8 @@ static int collect_nodes(struct pw_context *context, struct pw_impl_node *node, + pw_log_debug(" next node %p: '%s' runnable:%u", n, n->name, n->runnable); + } + spa_list_for_each(n, collect, sort_link) +- run_nodes(context, n, collect); ++ if (!n->driver && n->runnable) ++ run_nodes(context, n, collect); + + return 0; + } +-- +GitLab diff --git a/media-video/pipewire/files/0.3.69/0002-revert-alsa-mixer-control-element.patch b/media-video/pipewire/files/0.3.69/0002-revert-alsa-mixer-control-element.patch new file mode 100644 index 000000000000..1076ad101d0f --- /dev/null +++ b/media-video/pipewire/files/0.3.69/0002-revert-alsa-mixer-control-element.patch @@ -0,0 +1,38 @@ +https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/916f1cdfbfdc414d83031aef941a9909d1e603bd + +From 916f1cdfbfdc414d83031aef941a9909d1e603bd Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Fri, 14 Apr 2023 16:32:18 +0200 +Subject: [PATCH] Revert "alsa-mixer: allow to re-attach the mixer control + element" + +This reverts commit b554fc20e9ff97064721c89eb15b1b45870584e5. +--- a/spa/plugins/alsa/acp/alsa-util.c ++++ b/spa/plugins/alsa/acp/alsa-util.c +@@ -1648,20 +1648,12 @@ static int mixer_class_event(snd_mixer_class_t *class, unsigned int mask, + } else if (mask & SND_CTL_EVENT_MASK_ADD) { + snd_ctl_elem_iface_t iface = snd_hctl_elem_get_interface(helem); + if (iface == SND_CTL_ELEM_IFACE_CARD || iface == SND_CTL_ELEM_IFACE_PCM) { +- snd_mixer_t *mixer = snd_mixer_class_get_mixer(class); +- snd_ctl_elem_iface_t iface = snd_hctl_elem_get_interface(helem); +- const char *name = snd_hctl_elem_get_name(helem); +- const int index = snd_hctl_elem_get_index(helem); +- const int device = snd_hctl_elem_get_device(helem); + snd_mixer_elem_t *new_melem; + +- new_melem = pa_alsa_mixer_find(mixer, iface, name, index, device); +- if (!new_melem) { +- /* Put the hctl pointer as our private data - it will be useful for callbacks */ +- if ((err = snd_mixer_elem_new(&new_melem, SND_MIXER_ELEM_PULSEAUDIO, 0, helem, NULL)) < 0) { +- pa_log_warn("snd_mixer_elem_new failed: %s", pa_alsa_strerror(err)); +- return 0; +- } ++ /* Put the hctl pointer as our private data - it will be useful for callbacks */ ++ if ((err = snd_mixer_elem_new(&new_melem, SND_MIXER_ELEM_PULSEAUDIO, 0, helem, NULL)) < 0) { ++ pa_log_warn("snd_mixer_elem_new failed: %s", pa_alsa_strerror(err)); ++ return 0; + } + + if ((err = snd_mixer_elem_attach(new_melem, helem)) < 0) { +-- +GitLab diff --git a/media-video/pipewire/files/0.3.69/0003-filter-chain-biquads.patch b/media-video/pipewire/files/0.3.69/0003-filter-chain-biquads.patch new file mode 100644 index 000000000000..f01362604f51 --- /dev/null +++ b/media-video/pipewire/files/0.3.69/0003-filter-chain-biquads.patch @@ -0,0 +1,21 @@ +https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/381be87e379996c502786883f90a19ac49e84c10 + +From 381be87e379996c502786883f90a19ac49e84c10 Mon Sep 17 00:00:00 2001 +From: Wim Taymans +Date: Sun, 16 Apr 2023 18:38:52 +0200 +Subject: [PATCH] filter-chain: config is only required for bq_raw + +Fixes #3161 +--- a/src/modules/module-filter-chain/builtin_plugin.c ++++ b/src/modules/module-filter-chain/builtin_plugin.c +@@ -287,6 +287,8 @@ static void *bq_instantiate(const struct fc_descriptor * Descriptor, + impl->rate = SampleRate; + impl->b0 = impl->a0 = 1.0f; + impl->type = bq_type_from_name(Descriptor->name); ++ if (impl->type != BQ_NONE) ++ return impl; + + if (config == NULL) + goto error; +-- +GitLab diff --git a/media-video/pipewire/pipewire-0.3.69.ebuild b/media-video/pipewire/pipewire-0.3.69-r1.ebuild similarity index 100% rename from media-video/pipewire/pipewire-0.3.69.ebuild rename to media-video/pipewire/pipewire-0.3.69-r1.ebuild