From 35b115fd6c1be43df4c86dda7e2bdbc54ec79cda Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 6 Nov 2023 15:44:55 +0100 Subject: [PATCH] context: stop scanning on feedback links If we have a feedback link around a driver, stop scanning for runnable nodes or else we will be looping forever. Fixes #3621 --- src/pipewire/context.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pipewire/context.c b/src/pipewire/context.c index 8adcdef4a..1046fc9ff 100644 --- a/src/pipewire/context.c +++ b/src/pipewire/context.c @@ -817,6 +817,8 @@ static inline int run_nodes(struct pw_context *context, struct pw_impl_node *nod if (!t->active || !l->prepared || (!t->driving && SPA_FLAG_IS_SET(t->checked, 1u<driving && p->node == t) + continue; pw_log_debug(" peer %p: '%s'", t, t->name); t->runnable = true; @@ -831,6 +833,8 @@ static inline int run_nodes(struct pw_context *context, struct pw_impl_node *nod if (!t->active || !l->prepared || (!t->driving && SPA_FLAG_IS_SET(t->checked, 1u<driving && p->node == t) + continue; pw_log_debug(" peer %p: '%s'", t, t->name); t->runnable = true;