Commit dbe61af5 authored by Wim Taymans's avatar Wim Taymans
Browse files

impl-node: don't update rt.position directly

When moving a driver to another, move the quantum and rate to the
current_ fields so that they are applied when the next cycle starts
instead of during the cycle.
parent aefb527a
Pipeline #466146 failed with stages
in 4 minutes and 5 seconds
......@@ -812,11 +812,11 @@ int pw_impl_node_set_driver(struct pw_impl_node *node, struct pw_impl_node *driv
remove_segment_owner(old, node->info.id);
if (old != node && old->driving && driver->info.state < PW_NODE_STATE_RUNNING) {
driver->rt.activation->position.clock.rate = old->rt.position->clock.rate;
driver->rt.activation->position.clock.duration = old->rt.position->clock.duration;
driver->current_rate = old->current_rate;
driver->current_quantum = old->current_quantum;
pw_log_info("move quantum:%"PRIu64" rate:%d (%s-%d -> %s-%d)",
driver->rt.activation->position.clock.duration,
driver->rt.activation->position.clock.rate.denom,
driver->current_quantum,
driver->current_rate.denom,
old->name, old->info.id,
driver->name, driver->info.id);
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment