diff --git a/spa/plugins/audioconvert/audioadapter.c b/spa/plugins/audioconvert/audioadapter.c index 21bf45f82..e146ddfec 100644 --- a/spa/plugins/audioconvert/audioadapter.c +++ b/spa/plugins/audioconvert/audioadapter.c @@ -1155,6 +1155,11 @@ static int follower_ready(void *data, int status) spa_log_trace_fp(this->log, "%p: ready %d", this, status); + if (!this->started) { + spa_log_warn(this->log, "%p: ready stopped node", this); + return -EIO; + } + if (this->target != this->follower) { this->driver = true; diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c index 25664b995..2983bb259 100644 --- a/src/pipewire/impl-node.c +++ b/src/pipewire/impl-node.c @@ -1624,8 +1624,13 @@ static int node_ready(void *data, int status) struct pw_node_target *t; struct pw_impl_port *p; - pw_log_trace_fp("%p: ready driver:%d exported:%d %p status:%d", node, - node->driver, node->exported, driver, status); + pw_log_trace_fp("%p: ready driver:%d exported:%d %p status:%d added:%d", node, + node->driver, node->exported, driver, status, node->added); + + if (!node->added) { + pw_log_warn("%p: ready non-active node", node); + return -EIO; + } if (SPA_UNLIKELY(node == driver)) { struct pw_node_activation *a = node->rt.activation;