From 972b8438514d7bd20ea8356a43b2c22ae9aad7ce Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 23 Apr 2020 13:10:02 +0200 Subject: [PATCH] node: don't suspend when already suspended --- src/pipewire/impl-node.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c index 72925c7c9..61d511926 100644 --- a/src/pipewire/impl-node.c +++ b/src/pipewire/impl-node.c @@ -158,8 +158,8 @@ static int pause_node(struct pw_impl_node *this) struct impl *impl = SPA_CONTAINER_OF(this, struct impl, this); int res = 0; - pw_log_debug(NAME" %p: pause node state:%s", this, - pw_node_state_as_string(this->info.state)); + pw_log_debug(NAME" %p: pause node state:%s pause-on-idle:%d", this, + pw_node_state_as_string(this->info.state), impl->pause_on_idle); if (this->info.state <= PW_NODE_STATE_IDLE && impl->pause_on_idle) return 0; @@ -327,6 +327,9 @@ static int suspend_node(struct pw_impl_node *this) pw_log_debug(NAME" %p: suspend node state:%s", this, pw_node_state_as_string(this->info.state)); + if (this->info.state <= PW_NODE_STATE_SUSPENDED) + return 0; + pause_node(this); spa_list_for_each(p, &this->input_ports, link) {