diff --git a/src/pipewire/core.c b/src/pipewire/core.c index 8a7b93487..423753211 100644 --- a/src/pipewire/core.c +++ b/src/pipewire/core.c @@ -939,7 +939,7 @@ static int collect_nodes(struct pw_node *driver) struct pw_link *l; uint32_t quantum = DEFAULT_QUANTUM; - spa_list_init(&driver->driver_list); + spa_list_init(&driver->slave_list); pw_log_info("driver %p: '%s'", driver, driver->info.name); spa_list_init(&queue); @@ -948,7 +948,7 @@ static int collect_nodes(struct pw_node *driver) spa_list_consume(n, &queue, sort_link) { spa_list_remove(&n->sort_link); - spa_list_append(&driver->driver_list, &n->driver_link); + spa_list_append(&driver->slave_list, &n->slave_link); pw_node_set_driver(n, driver); @@ -987,24 +987,24 @@ int pw_core_recalc_graph(struct pw_core *core) { struct pw_node *n, *s; - spa_list_for_each(n, &core->driver_list, core_driver_link) { + spa_list_for_each(n, &core->driver_list, driver_link) { if (!n->visited) collect_nodes(n); } spa_list_for_each(n, &core->node_list, link) { if (!n->visited) { - pw_log_info("unassigned node %p: '%s'", n, n->info.name); + pw_log_info("unassigned node %p: '%s' %d", n, n->info.name, n->active); pw_node_set_driver(n, NULL); } n->visited = false; } - spa_list_for_each(n, &core->driver_list, core_driver_link) { + spa_list_for_each(n, &core->driver_list, driver_link) { if (!n->master) continue; pw_log_info("master %p: quantum:%d '%s'", n, n->rt.position->size, n->info.name); - spa_list_for_each(s, &n->driver_list, driver_link) + spa_list_for_each(s, &n->slave_list, slave_link) pw_log_info("slave %p: active:%d '%s'", s, s->active, s->info.name); } return 0; diff --git a/src/pipewire/node.c b/src/pipewire/node.c index 28c8afd1e..ebfdc897e 100644 --- a/src/pipewire/node.c +++ b/src/pipewire/node.c @@ -612,9 +612,9 @@ static void check_properties(struct pw_node *node) pw_log_info("node %p: driver %d -> %d", node, node->driver, driver); node->driver = driver; if (driver) - spa_list_append(&node->core->driver_list, &node->core_driver_link); + spa_list_append(&node->core->driver_list, &node->driver_link); else - spa_list_remove(&node->core_driver_link); + spa_list_remove(&node->driver_link); } if ((str = pw_properties_get(node->properties, "node.latency"))) { @@ -804,7 +804,7 @@ struct pw_node *pw_node_new(struct pw_core *core, this->data_loop = core->data_loop; - spa_list_init(&this->driver_list); + spa_list_init(&this->slave_list); spa_hook_list_init(&this->listener_list); @@ -834,7 +834,7 @@ struct pw_node *pw_node_new(struct pw_core *core, check_properties(this); this->driver_node = this; - spa_list_append(&this->driver_list, &this->driver_link); + spa_list_append(&this->slave_list, &this->slave_link); this->master = true; return this; @@ -1136,10 +1136,10 @@ void pw_node_destroy(struct pw_node *node) pw_log_debug("node %p: driver node %p", impl, node->driver_node); if (node->driver) - spa_list_remove(&node->core_driver_link); + spa_list_remove(&node->driver_link); - /* remove ourself from the (other) driver node */ - spa_list_remove(&node->driver_link); + /* remove ourself as a slave from the driver node */ + spa_list_remove(&node->slave_link); if (node->registered) spa_list_remove(&node->link); diff --git a/src/pipewire/private.h b/src/pipewire/private.h index 8e992820d..44b31b47e 100644 --- a/src/pipewire/private.h +++ b/src/pipewire/private.h @@ -376,10 +376,10 @@ struct pw_node { uint32_t port_user_data_size; /**< extra size for port user data */ - struct spa_list core_driver_link; - struct pw_node *driver_node; - struct spa_list driver_list; struct spa_list driver_link; + struct pw_node *driver_node; + struct spa_list slave_list; + struct spa_list slave_link; struct spa_list sort_link; /**< link used to sort nodes */