diff options
author | 2023-04-12 06:29:38 +0100 | |
---|---|---|
committer | 2023-04-12 07:06:20 +0100 | |
commit | e703665c1f442a3f3e30b3210a606cc62534a611 (patch) | |
tree | 4587ff919d0645c5a2e6f28a49388b56ab5867e7 /media-video/pipewire/files | |
parent | dev-util/clinfo: Keyword 3.0.23.01.25 riscv, #904196 (diff) | |
download | gentoo-e703665c1f442a3f3e30b3210a606cc62534a611.tar.gz gentoo-e703665c1f442a3f3e30b3210a606cc62534a611.tar.bz2 gentoo-e703665c1f442a3f3e30b3210a606cc62534a611.zip |
media-video/pipewire: backport patch for idle nodes (gamescope)
Recommended upstream.
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-video/pipewire/files')
-rw-r--r-- | media-video/pipewire/files/0.3.68/nodes-idle.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/media-video/pipewire/files/0.3.68/nodes-idle.patch b/media-video/pipewire/files/0.3.68/nodes-idle.patch new file mode 100644 index 000000000000..33936ff3bf59 --- /dev/null +++ b/media-video/pipewire/files/0.3.68/nodes-idle.patch @@ -0,0 +1,35 @@ +https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3145 +https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/8748c77451ce332dd24549b414200499ede4f184 + +From 8748c77451ce332dd24549b414200499ede4f184 Mon Sep 17 00:00:00 2001 +From: Wim Taymans <wtaymans@redhat.com> +Date: Tue, 11 Apr 2023 16:31:44 +0200 +Subject: [PATCH] context: make driver runnable when we add a runnable node + +Explicitly make the driver runnable when we add a runnable node to it. + +We have to do this because the runnable node might not be directly linked +to this driver. + +In the case of the echo-canceler, for example, a playback stream +can be linked to the sink before the echo canceled virtual sink. +All echo-cancel nodes are added to a source driver, which would not be +activated because there is no direct path from the playback stream +to the source river. + +Fixes #3145 +--- a/src/pipewire/context.c ++++ b/src/pipewire/context.c +@@ -943,6 +943,8 @@ static void move_to_driver(struct pw_context *context, struct spa_list *nodes, + spa_list_consume(n, nodes, sort_link) { + spa_list_remove(&n->sort_link); + ++ driver->runnable |= n->runnable; ++ + pw_log_debug(" follower: %p %s runnable:%u driver-runnable:%u", n, n->name, + n->runnable, driver->runnable); + pw_impl_node_set_driver(n, driver); +-- +GitLab + + |