From 973f48dde74f1be4b84bec2f48a4ad33e7543762 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Sat, 21 Feb 2026 16:32:30 +0100 Subject: [PATCH] scheduler: make always_process nodes runnable Don't just set the flag but call make_runnable for always_process node so that the peers also get activated. --- src/modules/module-scheduler-v1.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/modules/module-scheduler-v1.c b/src/modules/module-scheduler-v1.c index d1797388c..8bfbab21c 100644 --- a/src/modules/module-scheduler-v1.c +++ b/src/modules/module-scheduler-v1.c @@ -126,7 +126,7 @@ static void make_runnable(struct pw_context *context, struct pw_impl_node *node) char *sync[MAX_SYNC+1] = { NULL }; if (!node->runnable) { - pw_log_warn("%s is runnable", node->name); + pw_log_debug("%s is runnable", node->name); node->runnable = true; } @@ -198,6 +198,9 @@ static void check_runnable(struct pw_context *context, struct pw_impl_node *node struct pw_impl_link *l; struct pw_impl_node *n; + if (node->always_process && !node->runnable) + make_runnable(context, node); + spa_list_for_each(p, &node->output_ports, link) { spa_list_for_each(l, &p->links, output_link) { n = l->input->node; @@ -567,7 +570,7 @@ again: spa_list_for_each(n, &context->node_list, link) { n->visited = false; n->checked = 0; - n->runnable = n->always_process && n->active; + n->runnable = false; } get_quantums(context, &def_quantum, &min_quantum, &max_quantum, &rate_quantum,