From be943ca9db1004004c7b808a8f1e8a4c5f1fc3fd Mon Sep 17 00:00:00 2001 From: Jonas Holmberg Date: Tue, 5 Sep 2023 16:48:57 +0200 Subject: [PATCH] context: scan peers in both directions Don't stop scanning peers after trying one direction. Try the other direction too, just like with link groups. See a821027fb88ee23643db4da21d200d22137ce2a3. --- src/pipewire/context.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pipewire/context.c b/src/pipewire/context.c index 98d9f0750..c8c48a14c 100644 --- a/src/pipewire/context.c +++ b/src/pipewire/context.c @@ -807,7 +807,7 @@ static inline int run_nodes(struct pw_context *context, struct pw_impl_node *nod spa_list_for_each(l, &p->links, input_link) { t = l->output->node; - if (!t->active || !l->prepared || (!t->driving && t->runnable)) + if (!t->active || !l->prepared || (!t->driving && SPA_FLAG_IS_SET(t->checked, 1u<name); @@ -820,7 +820,7 @@ static inline int run_nodes(struct pw_context *context, struct pw_impl_node *nod spa_list_for_each(l, &p->links, output_link) { t = l->input->node; - if (!t->active || !l->prepared || (!t->driving && t->runnable)) + if (!t->active || !l->prepared || (!t->driving && SPA_FLAG_IS_SET(t->checked, 1u<name); @@ -837,7 +837,7 @@ static inline int run_nodes(struct pw_context *context, struct pw_impl_node *nod if (node->link_group != NULL) { spa_list_for_each(t, nodes, sort_link) { if (t->exported || !t->active || - SPA_FLAG_IS_SET(t->checked, 1u<checked, 1u<link_group, node->link_group)) continue;