diff --git a/src/pipewire/context.c b/src/pipewire/context.c index a097d8e8f..725df2050 100644 --- a/src/pipewire/context.c +++ b/src/pipewire/context.c @@ -1304,7 +1304,7 @@ again: s->moved = false; } - if (n->forced_rate && !force_rate) { + if (n->forced_rate && !force_rate && n->runnable) { /* A node that was forced to a rate but is no longer being * forced can restore its rate */ pw_log_info("(%s-%u) restore rate", n->name, n->info.id); diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c index 956540467..74f71338a 100644 --- a/src/pipewire/impl-node.c +++ b/src/pipewire/impl-node.c @@ -1026,6 +1026,8 @@ static void check_properties(struct pw_impl_node *node) if ((str = pw_properties_get(node->properties, PW_KEY_NODE_FORCE_RATE))) { if (spa_atou32(str, &value, 0) && node->force_rate != value) { + pw_log_info("(%s-%u) force-rate:%u -> %u", node->name, + node->info.id, node->force_rate, value); node->force_rate = value; node->stamp = ++context->stamp; recalc_reason = "force rate changed";