From ae3178abfecda519d9c402cb2127567cc59f8a8e Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 7 Mar 2019 18:36:23 +0100 Subject: [PATCH] node: the exported node and never finish the graph That graph is always started and finished on the server, even when the driver is remote. --- src/pipewire/node.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/pipewire/node.c b/src/pipewire/node.c index ddf0c2338..e90793cb8 100644 --- a/src/pipewire/node.c +++ b/src/pipewire/node.c @@ -592,7 +592,7 @@ static int pw_node_trigger(struct pw_node *this, uint64_t nsec) state = &t->activation->state[0]; - spa_debug("node %p: state %p pending %d/%d", t->data, state, + spa_debug("node %p: state %p pending %d/%d", t->node, state, state->pending, state->required); if (pw_node_activation_state_dec(state, 1)) { @@ -634,7 +634,7 @@ static inline int process_node(void *data) this->rt.activation->awake_time - this->rt.activation->signal_time, this->rt.activation->finish_time - this->rt.activation->awake_time); - if (this != this->driver_node) { + if (this != this->driver_node || this->exported) { pw_node_trigger(this, nsec); } else { pw_log_trace("node %p: graph completed", this); @@ -944,9 +944,7 @@ static int node_ready(void *data, int status) driver->rt.activation->status = TRIGGERED; driver->rt.activation->signal_time = nsec; - pw_node_trigger(driver, nsec); - - return 0; + return pw_node_trigger(driver, nsec); } static int node_reuse_buffer(void *data, uint32_t port_id, uint32_t buffer_id)