summaryrefslogtreecommitdiff
path: root/media-video/pipewire/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-07-12 10:31:55 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-07-12 10:31:55 +0100
commiteb3ae345f026de053870dfa589779989d300ebef (patch)
tree1bea6ba3fbb1dca4db8c0cf9d9025d1e3e26f96a /media-video/pipewire/files
parent0e24de4e7c207a09710001af8230df7892eb73d4 (diff)
gentoo auto-resync : 12:07:2023 - 10:31:55
Diffstat (limited to 'media-video/pipewire/files')
-rw-r--r--media-video/pipewire/files/0.3.73/0001-impl-node-remove-node-target-peers.patch30
1 files changed, 30 insertions, 0 deletions
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
new file mode 100644
index 000000000000..fac8233ee916
--- /dev/null
+++ b/media-video/pipewire/files/0.3.73/0001-impl-node-remove-node-target-peers.patch
@@ -0,0 +1,30 @@
+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