From 0701428aec85691923d87badae55c1fb93127b8f Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 25 Sep 2018 17:09:22 +0200 Subject: [PATCH] link: only idle node if all links are idle --- src/pipewire/link.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/pipewire/link.c b/src/pipewire/link.c index 72d3de78d..2ef53de71 100644 --- a/src/pipewire/link.c +++ b/src/pipewire/link.c @@ -100,9 +100,11 @@ static void pw_link_update_state(struct pw_link *link, enum pw_link_state state, pw_link_activate(link); } else if (old == PW_LINK_STATE_PAUSED && state < PW_LINK_STATE_PAUSED) { - if (--out->n_ready_output_links == 0) + if (--out->n_ready_output_links == 0 && + out->n_ready_input_links == 0) pw_node_set_state(out, PW_NODE_STATE_IDLE); - if (--in->n_ready_input_links == 0) + if (--in->n_ready_input_links == 0 && + in->n_ready_output_links == 0) pw_node_set_state(in, PW_NODE_STATE_IDLE); }