diff --git a/src/modules/module-client-node/remote-node.c b/src/modules/module-client-node/remote-node.c index 6c09386f7..62ea43f08 100644 --- a/src/modules/module-client-node/remote-node.c +++ b/src/modules/module-client-node/remote-node.c @@ -1193,6 +1193,7 @@ static int node_ready(void *d, int status) a->state[0].status = status; spa_system_clock_gettime(data_system, CLOCK_MONOTONIC, &ts); a->signal_time = SPA_TIMESPEC_TO_NSEC(&ts); + a->awake_time = a->signal_time; if (SPA_UNLIKELY(spa_system_eventfd_write(data_system, data->rtwritefd, 1) < 0)) pw_log_warn("node %p: write failed %m", node); diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c index 548d37512..9b8592219 100644 --- a/src/pipewire/impl-node.c +++ b/src/pipewire/impl-node.c @@ -1775,6 +1775,11 @@ again: if (SPA_UNLIKELY(node->driver && !node->driving)) return 0; + if (!node->driver) { + a->status = PW_NODE_ACTIVATION_FINISHED; + a->finish_time = nsec; + } + if (status & SPA_STATUS_HAVE_DATA) { spa_list_for_each(p, &node->rt.output_mix, rt.node_link) spa_node_process(p->mix);