This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/pipewire.git#8efa647705d110709be5e8742e3cd6138889dfbb
37 lines
1.2 KiB
Diff
37 lines
1.2 KiB
Diff
From f5aba5f0dcf63996bd2444da13f353b290da3601 Mon Sep 17 00:00:00 2001
|
|
From: Wim Taymans <wtaymans@redhat.com>
|
|
Date: Tue, 23 Mar 2021 10:17:01 +0100
|
|
Subject: [PATCH 06/10] impl-node: first start the node, then make it
|
|
schedulable
|
|
|
|
We first need to issue the start command for driver nodes and then
|
|
we can add the node to be scheduled. Else we might end up with nodes
|
|
that receive the _process callback without the Start command being
|
|
called first and we can crash.
|
|
|
|
See #904
|
|
---
|
|
src/pipewire/impl-node.c | 3 ++-
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c
|
|
index 0afcab53e..75a7d2a79 100644
|
|
--- a/src/pipewire/impl-node.c
|
|
+++ b/src/pipewire/impl-node.c
|
|
@@ -338,10 +338,11 @@ static void node_update_state(struct pw_impl_node *node, enum pw_node_state stat
|
|
|
|
switch (state) {
|
|
case PW_NODE_STATE_RUNNING:
|
|
- pw_loop_invoke(node->data_loop, do_node_add, 1, NULL, 0, true, node);
|
|
if (node->driving && node->driver)
|
|
spa_node_send_command(node->node,
|
|
&SPA_NODE_COMMAND_INIT(SPA_NODE_COMMAND_Start));
|
|
+
|
|
+ pw_loop_invoke(node->data_loop, do_node_add, 1, NULL, 0, true, node);
|
|
break;
|
|
default:
|
|
break;
|
|
--
|
|
2.26.3
|
|
|