impl-node: run recovery cycle immediately

There is no reason to use the fd to schedule process_node, we can call
it directly when we detect an underrun need to complete the cycle with
whatever data made it to the driver.

This avoids starting the graph while the process_node is running and
avoids some stuttering.

See #3937
This commit is contained in:
Wim Taymans 2024-04-08 15:58:38 +02:00
parent 47c080496f
commit 8ce5211a64

View file

@ -1871,7 +1871,7 @@ static int node_ready(void *data, int status)
" pending %d/%d", node->name, node->info.id,
state, a->position.clock.duration,
pending, state->required);
wake_target(&node->rt.target, nsec);
process_node(node);
check_states(node, nsec);
pw_impl_node_rt_emit_incomplete(node);
}