diff --git a/src/examples/media-session/bluez-monitor.c b/src/examples/media-session/bluez-monitor.c index 78e0def2c..ecbabe759 100644 --- a/src/examples/media-session/bluez-monitor.c +++ b/src/examples/media-session/bluez-monitor.c @@ -51,7 +51,7 @@ struct bluez5_node { struct pw_properties *props; - struct pw_node *adapter; + struct pw_impl_node *adapter; struct pw_proxy *proxy; }; @@ -182,7 +182,7 @@ static void bluez5_remove_node(struct bluez5_object *obj, struct bluez5_node *no { pw_log_debug("remove node %u", node->id); spa_list_remove(&node->link); - pw_node_destroy(node->adapter); + pw_impl_node_destroy(node->adapter); pw_properties_free(node->props); free(node); } diff --git a/src/modules/module-adapter.c b/src/modules/module-adapter.c index 289869c2a..40c0eadf2 100644 --- a/src/modules/module-adapter.c +++ b/src/modules/module-adapter.c @@ -63,8 +63,8 @@ struct factory_data { struct node_data { struct factory_data *data; struct spa_list link; - struct pw_node *adapter; - struct pw_node *slave; + struct pw_impl_node *adapter; + struct pw_impl_node *slave; struct spa_hook adapter_listener; struct pw_resource *resource; struct spa_hook resource_listener; @@ -77,7 +77,7 @@ static void resource_destroy(void *data) spa_hook_remove(&nd->resource_listener); if (nd->adapter) - pw_node_destroy(nd->adapter); + pw_impl_node_destroy(nd->adapter); } static const struct pw_resource_events resource_events = { @@ -95,7 +95,7 @@ static void node_destroy(void *data) static void node_free(void *data) { struct node_data *nd = data; - pw_node_destroy(nd->slave); + pw_impl_node_destroy(nd->slave); } static void node_initialized(void *data) @@ -110,7 +110,7 @@ static void node_initialized(void *data) return; client = pw_resource_get_client(nd->resource); - global = pw_node_get_global(nd->adapter); + global = pw_impl_node_get_global(nd->adapter); res = pw_global_bind(global, client, PW_PERM_RWX, PW_VERSION_NODE_PROXY, nd->new_id); @@ -129,8 +129,8 @@ error_bind: } -static const struct pw_node_events node_events = { - PW_VERSION_NODE_EVENTS, +static const struct pw_impl_node_events node_events = { + PW_VERSION_IMPL_NODE_EVENTS, .destroy = node_destroy, .free = node_free, .initialized = node_initialized, @@ -145,7 +145,7 @@ static void *create_object(void *_data, { struct factory_data *d = _data; struct pw_impl_client *client; - struct pw_node *adapter, *slave; + struct pw_impl_node *adapter, *slave; const char *str, *factory_name; int res; struct node_data *nd; @@ -205,11 +205,11 @@ static void *create_object(void *_data, nd->new_id = new_id; spa_list_append(&d->node_list, &nd->link); - pw_node_add_listener(adapter, &nd->adapter_listener, &node_events, nd); + pw_impl_node_add_listener(adapter, &nd->adapter_listener, &node_events, nd); - pw_node_register(adapter, NULL); + pw_impl_node_register(adapter, NULL); - pw_node_set_active(adapter, true); + pw_impl_node_set_active(adapter, true); return adapter; @@ -251,7 +251,7 @@ static void module_destroy(void *data) spa_hook_remove(&d->module_listener); spa_list_for_each_safe(nd, t, &d->node_list, link) - pw_node_destroy(nd->adapter); + pw_impl_node_destroy(nd->adapter); pw_impl_factory_destroy(d->this); } diff --git a/src/modules/module-adapter/adapter.c b/src/modules/module-adapter/adapter.c index 3e19b3e4d..7fa0e10b4 100644 --- a/src/modules/module-adapter/adapter.c +++ b/src/modules/module-adapter/adapter.c @@ -58,10 +58,10 @@ struct buffer { struct node { struct pw_context *context; - struct pw_node *node; + struct pw_impl_node *node; struct spa_hook node_listener; - struct pw_node *slave; + struct pw_impl_node *slave; void *user_data; enum pw_direction direction; @@ -149,14 +149,14 @@ static void node_port_init(void *data, struct pw_impl_port *port) pw_properties_free(new); } -static const struct pw_node_events node_events = { - PW_VERSION_NODE_EVENTS, +static const struct pw_impl_node_events node_events = { + PW_VERSION_IMPL_NODE_EVENTS, .free = node_free, .port_init = node_port_init, }; -static int find_format(struct pw_node *node, enum pw_direction direction, +static int find_format(struct pw_impl_node *node, enum pw_direction direction, uint32_t *media_type, uint32_t *media_subtype) { uint32_t state = 0; @@ -186,12 +186,12 @@ static int find_format(struct pw_node *node, enum pw_direction direction, } -struct pw_node *pw_adapter_new(struct pw_context *context, - struct pw_node *slave, +struct pw_impl_node *pw_adapter_new(struct pw_context *context, + struct pw_impl_node *slave, struct pw_properties *props, size_t user_data_size) { - struct pw_node *node; + struct pw_impl_node *node; struct node *n; const char *str, *factory_name; const struct pw_node_info *info; @@ -199,7 +199,7 @@ struct pw_node *pw_adapter_new(struct pw_context *context, int res; uint32_t media_type, media_subtype; - info = pw_node_get_info(slave); + info = pw_impl_node_get_info(slave); if (info == NULL) { res = -EINVAL; goto error; @@ -279,7 +279,7 @@ struct pw_node *pw_adapter_new(struct pw_context *context, if (user_data_size > 0) n->user_data = SPA_MEMBER(n, sizeof(struct node), void); - pw_node_add_listener(node, &n->node_listener, &node_events, n); + pw_impl_node_add_listener(node, &n->node_listener, &node_events, n); return node; @@ -290,7 +290,7 @@ error: return NULL; } -void *pw_adapter_get_user_data(struct pw_node *node) +void *pw_adapter_get_user_data(struct pw_impl_node *node) { struct node *n = pw_spa_node_get_user_data(node); return n->user_data; diff --git a/src/modules/module-adapter/adapter.h b/src/modules/module-adapter/adapter.h index 7ee787347..113ab72f4 100644 --- a/src/modules/module-adapter/adapter.h +++ b/src/modules/module-adapter/adapter.h @@ -33,13 +33,13 @@ extern "C" { #define ADAPTER_USAGE PW_KEY_NODE_NAME"= " -struct pw_node * +struct pw_impl_node * pw_adapter_new(struct pw_context *context, - struct pw_node *slave, + struct pw_impl_node *slave, struct pw_properties *properties, size_t user_data_size); -void *pw_adapter_get_user_data(struct pw_node *node); +void *pw_adapter_get_user_data(struct pw_impl_node *node); #ifdef __cplusplus } diff --git a/src/modules/module-client-node/client-node.c b/src/modules/module-client-node/client-node.c index df63a5e87..3561da1f2 100644 --- a/src/modules/module-client-node/client-node.c +++ b/src/modules/module-client-node/client-node.c @@ -862,7 +862,7 @@ static int impl_node_process(void *object) { struct node *this = object; struct impl *impl = this->impl; - struct pw_node *n = impl->this.node; + struct pw_impl_node *n = impl->this.node; struct timespec ts; spa_log_trace_fp(this->log, "%p: send process driver:%p", this, impl->this.node->driver_node); @@ -971,7 +971,7 @@ client_node_port_update(void *data, static int client_node_set_active(void *data, bool active) { struct impl *impl = data; - return pw_node_set_active(impl->this.node, active); + return pw_impl_node_set_active(impl->this.node, active); } static int client_node_event(void *data, const struct spa_event *event) @@ -1173,7 +1173,7 @@ static void client_node_resource_destroy(void *data) &node->data_source); } if (this->node) - pw_node_destroy(this->node); + pw_impl_node_destroy(this->node); } static void client_node_resource_error(void *data, int seq, int res, const char *message) @@ -1199,7 +1199,7 @@ static void client_node_resource_pong(void *data, int seq) void pw_client_node_registered(struct pw_client_node *this, struct pw_global *global) { struct impl *impl = SPA_CONTAINER_OF(this, struct impl, this); - struct pw_node *node = this->node; + struct pw_impl_node *node = this->node; struct pw_impl_client *client = impl->node.client; uint32_t node_id = global->id; struct pw_memblock *m; @@ -1262,7 +1262,7 @@ static void node_initialized(void *data) pw_log_debug(NAME " %p: io areas %p", node, impl->io_areas->map->ptr); - if ((global = pw_node_get_global(this->node)) != NULL) + if ((global = pw_impl_node_get_global(this->node)) != NULL) pw_client_node_registered(this, global); } @@ -1505,7 +1505,7 @@ static void node_port_removed(void *data, struct pw_impl_port *port) clear_port(this, p); } -static void node_peer_added(void *data, struct pw_node *peer) +static void node_peer_added(void *data, struct pw_impl_node *peer) { struct impl *impl = data; struct node *this = &impl->node; @@ -1533,7 +1533,7 @@ static void node_peer_added(void *data, struct pw_node *peer) sizeof(struct pw_node_activation)); } -static void node_peer_removed(void *data, struct pw_node *peer) +static void node_peer_removed(void *data, struct pw_impl_node *peer) { struct impl *impl = data; struct node *this = &impl->node; @@ -1563,7 +1563,7 @@ static void node_peer_removed(void *data, struct pw_node *peer) pw_memblock_unref(m); } -static void node_driver_changed(void *data, struct pw_node *old, struct pw_node *driver) +static void node_driver_changed(void *data, struct pw_impl_node *old, struct pw_impl_node *driver) { struct impl *impl = data; struct node *this = &impl->node; @@ -1574,8 +1574,8 @@ static void node_driver_changed(void *data, struct pw_node *old, struct pw_node node_peer_added(data, driver); } -static const struct pw_node_events node_events = { - PW_VERSION_NODE_EVENTS, +static const struct pw_impl_node_events node_events = { + PW_VERSION_IMPL_NODE_EVENTS, .free = node_free, .initialized = node_initialized, .port_init = node_port_init, @@ -1608,7 +1608,7 @@ static int process_node(void *data) * \param properties extra properties * \return a newly allocated client node * - * Create a new \ref pw_node. + * Create a new \ref pw_impl_node. * * \memberof pw_client_node */ @@ -1682,7 +1682,7 @@ struct pw_client_node *pw_client_node_new(struct pw_resource *resource, this->node->port_user_data_size = sizeof(struct port); - pw_node_add_listener(this->node, &impl->node_listener, &node_events, impl); + pw_impl_node_add_listener(this->node, &impl->node_listener, &node_events, impl); return this; diff --git a/src/modules/module-client-node/client-node.h b/src/modules/module-client-node/client-node.h index d7a577d83..3e9d82f06 100644 --- a/src/modules/module-client-node/client-node.h +++ b/src/modules/module-client-node/client-node.h @@ -37,7 +37,7 @@ extern "C" { * PipeWire client node interface */ struct pw_client_node { - struct pw_node *node; + struct pw_impl_node *node; struct pw_resource *resource; uint32_t flags; diff --git a/src/modules/module-client-node/remote-node.c b/src/modules/module-client-node/remote-node.c index 096d23710..c8c6f6227 100644 --- a/src/modules/module-client-node/remote-node.c +++ b/src/modules/module-client-node/remote-node.c @@ -80,7 +80,7 @@ struct node_data { struct spa_list mix[2]; struct spa_list free_mix; - struct pw_node *node; + struct pw_impl_node *node; struct spa_hook node_listener; int do_free:1; int have_transport:1; @@ -222,7 +222,7 @@ static struct mix *ensure_mix(struct node_data *data, if (spa_list_is_empty(&data->free_mix)) return NULL; - port = pw_node_find_port(data->node, direction, port_id); + port = pw_impl_node_find_port(data->node, direction, port_id); if (port == NULL) return NULL; @@ -271,7 +271,7 @@ static int client_node_transport(void *object, static int add_node_update(struct pw_proxy *proxy, uint32_t change_mask) { struct node_data *data = proxy->user_data; - struct pw_node *node = data->node; + struct pw_impl_node *node = data->node; struct spa_node_info ni = SPA_NODE_INFO_INIT(); uint32_t n_params = 0; struct spa_pod **params = NULL; @@ -458,7 +458,7 @@ static int client_node_command(void *object, const struct spa_command *command) case SPA_NODE_COMMAND_Pause: pw_log_debug("node %p: pause", proxy); - if ((res = pw_node_set_state(data->node, PW_NODE_STATE_IDLE)) < 0) { + if ((res = pw_impl_node_set_state(data->node, PW_NODE_STATE_IDLE)) < 0) { pw_log_warn("node %p: pause failed", proxy); pw_proxy_error(proxy, res, "pause failed"); } @@ -467,7 +467,7 @@ static int client_node_command(void *object, const struct spa_command *command) case SPA_NODE_COMMAND_Start: pw_log_debug("node %p: start", proxy); - if ((res = pw_node_set_state(data->node, PW_NODE_STATE_RUNNING)) < 0) { + if ((res = pw_impl_node_set_state(data->node, PW_NODE_STATE_RUNNING)) < 0) { pw_log_warn("node %p: start failed", proxy); pw_proxy_error(proxy, res, "start failed"); } @@ -475,7 +475,7 @@ static int client_node_command(void *object, const struct spa_command *command) case SPA_NODE_COMMAND_Suspend: pw_log_debug("node %p: suspend", proxy); - if ((res = pw_node_set_state(data->node, PW_NODE_STATE_SUSPENDED)) < 0) { + if ((res = pw_impl_node_set_state(data->node, PW_NODE_STATE_SUSPENDED)) < 0) { pw_log_warn("node %p: suspend failed", proxy); pw_proxy_error(proxy, res, "suspend failed"); } @@ -542,7 +542,7 @@ client_node_port_set_param(void *object, struct pw_impl_port *port; int res; - port = pw_node_find_port(data->node, direction, port_id); + port = pw_impl_node_find_port(data->node, direction, port_id); if (port == NULL) { res = -EINVAL; goto error_exit; @@ -804,7 +804,7 @@ client_node_set_activation(void *object, { struct pw_proxy *proxy = object; struct node_data *data = proxy->user_data; - struct pw_node *node = data->node; + struct pw_impl_node *node = data->node; struct pw_memmap *mm; void *ptr; struct link *link; @@ -992,8 +992,8 @@ static void node_active_changed(void *data, bool active) pw_client_node_proxy_set_active(d->client_node, active); } -static const struct pw_node_events node_events = { - PW_VERSION_NODE_EVENTS, +static const struct pw_impl_node_events node_events = { + PW_VERSION_IMPL_NODE_EVENTS, .destroy = node_destroy, .free = node_free, .info_changed = node_info_changed, @@ -1017,7 +1017,7 @@ static void client_node_proxy_destroy(void *_data) pw_proxy_destroy(data->proxy); if (data->do_free) - pw_node_destroy(data->node); + pw_impl_node_destroy(data->node); } static void client_node_proxy_bound(void *_data, uint32_t global_id) @@ -1054,7 +1054,7 @@ static const struct pw_proxy_events proxy_events = { static int node_ready(void *d, int status) { struct node_data *data = d; - struct pw_node *node = data->node; + struct pw_impl_node *node = data->node; struct pw_node_activation *a = node->rt.activation; struct timespec ts; struct pw_impl_port *p; @@ -1086,7 +1086,7 @@ static int node_reuse_buffer(void *data, uint32_t port_id, uint32_t buffer_id) static int node_xrun(void *d, uint64_t trigger, uint64_t delay, struct spa_pod *info) { struct node_data *data = d; - struct pw_node *node = data->node; + struct pw_impl_node *node = data->node; struct pw_node_activation *a = node->rt.activation; a->xrun_count++; @@ -1110,7 +1110,7 @@ static const struct spa_node_callbacks node_callbacks = { static struct pw_proxy *node_export(struct pw_core *core, void *object, bool do_free, size_t user_data_size) { - struct pw_node *node = object; + struct pw_impl_node *node = object; struct pw_proxy *client_node; struct node_data *data; int i; @@ -1128,7 +1128,7 @@ static struct pw_proxy *node_export(struct pw_core *core, void *object, bool do_ data->pool = pw_core_get_mempool(core); data->node = node; data->do_free = do_free; - data->context = pw_node_get_context(node); + data->context = pw_impl_node_get_context(node); data->client_node = (struct pw_client_node_proxy *)client_node; data->remote_id = SPA_ID_INVALID; @@ -1148,7 +1148,7 @@ static struct pw_proxy *node_export(struct pw_core *core, void *object, bool do_ &client_node_proxy_events, data); spa_node_set_callbacks(node->node, &node_callbacks, data); - pw_node_add_listener(node, &data->node_listener, &node_events, data); + pw_impl_node_add_listener(node, &data->node_listener, &node_events, data); pw_client_node_proxy_add_listener(data->client_node, &data->client_node_listener, @@ -1168,10 +1168,10 @@ struct pw_proxy *pw_core_node_export(struct pw_core *core, uint32_t type, struct pw_properties *props, void *object, size_t user_data_size) { - struct pw_node *node = object; + struct pw_impl_node *node = object; if (props) { - pw_node_update_properties(node, &props->dict); + pw_impl_node_update_properties(node, &props->dict); pw_properties_free(props); } return node_export(core, object, false, user_data_size); @@ -1181,15 +1181,15 @@ struct pw_proxy *pw_core_spa_node_export(struct pw_core *core, uint32_t type, struct pw_properties *props, void *object, size_t user_data_size) { - struct pw_node *node; + struct pw_impl_node *node; - node = pw_node_new(pw_core_get_context(core), props, 0); + node = pw_impl_node_new(pw_core_get_context(core), props, 0); if (node == NULL) return NULL; - pw_node_set_implementation(node, (struct spa_node*)object); - pw_node_register(node, NULL); - pw_node_set_active(node, true); + pw_impl_node_set_implementation(node, (struct spa_node*)object); + pw_impl_node_register(node, NULL); + pw_impl_node_set_active(node, true); return node_export(core, node, true, user_data_size); } diff --git a/src/modules/module-client-node/v0/client-node.c b/src/modules/module-client-node/v0/client-node.c index 0dd201592..3a96327cc 100644 --- a/src/modules/module-client-node/v0/client-node.c +++ b/src/modules/module-client-node/v0/client-node.c @@ -846,7 +846,7 @@ static int impl_node_process(void *object) { struct node *this = object; struct impl *impl = this->impl; - struct pw_node *n = impl->this.node; + struct pw_impl_node *n = impl->this.node; return impl_node_process_input(n->node); } @@ -1001,7 +1001,7 @@ client_node0_port_update(void *data, static void client_node0_set_active(void *data, bool active) { struct impl *impl = data; - pw_node_set_active(impl->this.node, active); + pw_impl_node_set_active(impl->this.node, active); } static void client_node0_event(void *data, struct spa_event *event) @@ -1158,14 +1158,14 @@ static void client_node0_resource_destroy(void *data) true, &node->data_source); } - pw_node_destroy(this->node); + pw_impl_node_destroy(this->node); } static void node_initialized(void *data) { struct impl *impl = data; struct pw_client_node0 *this = &impl->this; - struct pw_node *node = this->node; + struct pw_impl_node *node = this->node; struct spa_system *data_system = impl->node.data_system; if (this->resource == NULL) @@ -1182,7 +1182,7 @@ static void node_initialized(void *data) pw_log_debug("client-node %p: transport fd %d %d", node, impl->fds[0], impl->fds[1]); pw_client_node0_resource_transport(this->resource, - pw_global_get_id(pw_node_get_global(node)), + pw_global_get_id(pw_impl_node_get_global(node)), impl->other_fds[0], impl->other_fds[1], impl->transport); @@ -1210,8 +1210,8 @@ static void node_free(void *data) free(impl); } -static const struct pw_node_events node_events = { - PW_VERSION_NODE_EVENTS, +static const struct pw_impl_node_events node_events = { + PW_VERSION_IMPL_NODE_EVENTS, .free = node_free, .initialized = node_initialized, }; @@ -1246,7 +1246,7 @@ static void convert_properties(struct pw_properties *properties) * \param properties extra properties * \return a newly allocated client node * - * Create a new \ref pw_node. + * Create a new \ref pw_impl_node. * * \memberof pw_client_node */ @@ -1320,7 +1320,7 @@ struct pw_client_node0 *pw_client_node0_new(struct pw_resource *resource, impl); - pw_node_add_listener(this->node, &impl->node_listener, &node_events, impl); + pw_impl_node_add_listener(this->node, &impl->node_listener, &node_events, impl); return this; diff --git a/src/modules/module-client-node/v0/client-node.h b/src/modules/module-client-node/v0/client-node.h index 92e564e2e..13a1044a3 100644 --- a/src/modules/module-client-node/v0/client-node.h +++ b/src/modules/module-client-node/v0/client-node.h @@ -33,7 +33,7 @@ extern "C" { * PipeWire client node interface */ struct pw_client_node0 { - struct pw_node *node; + struct pw_impl_node *node; struct pw_resource *resource; }; diff --git a/src/modules/module-link-factory.c b/src/modules/module-link-factory.c index 1d1ff688c..10d5991d6 100644 --- a/src/modules/module-link-factory.c +++ b/src/modules/module-link-factory.c @@ -142,17 +142,17 @@ static const struct pw_impl_link_events link_events = { .initialized = link_initialized }; -static struct pw_impl_port *get_port(struct pw_node *node, enum spa_direction direction) +static struct pw_impl_port *get_port(struct pw_impl_node *node, enum spa_direction direction) { struct pw_impl_port *p; int res; - p = pw_node_find_port(node, direction, SPA_ID_INVALID); + p = pw_impl_node_find_port(node, direction, SPA_ID_INVALID); if (p == NULL || pw_impl_port_is_linked(p)) { uint32_t port_id; - port_id = pw_node_get_free_port_id(node, direction); + port_id = pw_impl_node_get_free_port_id(node, direction); if (port_id == SPA_ID_INVALID) return NULL; @@ -179,7 +179,7 @@ static void *create_object(void *_data, { struct factory_data *d = _data; struct pw_impl_client *client = NULL; - struct pw_node *output_node, *input_node; + struct pw_impl_node *output_node, *input_node; struct pw_impl_port *outport, *inport; struct pw_context *context; struct pw_global *global; diff --git a/src/modules/spa/module-node-factory.c b/src/modules/spa/module-node-factory.c index b91f328d1..9fe1c7506 100644 --- a/src/modules/spa/module-node-factory.c +++ b/src/modules/spa/module-node-factory.c @@ -60,7 +60,7 @@ struct factory_data { struct node_data { struct factory_data *data; struct spa_list link; - struct pw_node *node; + struct pw_impl_node *node; struct spa_hook node_listener; struct spa_hook resource_listener; }; @@ -71,7 +71,7 @@ static void resource_destroy(void *data) pw_log_debug("node %p", nd); spa_hook_remove(&nd->resource_listener); if (nd->node) - pw_node_destroy(nd->node); + pw_impl_node_destroy(nd->node); } static const struct pw_resource_events resource_events = { @@ -88,8 +88,8 @@ static void node_destroy(void *data) nd->node = NULL; } -static const struct pw_node_events node_events = { - PW_VERSION_NODE_EVENTS, +static const struct pw_impl_node_events node_events = { + PW_VERSION_IMPL_NODE_EVENTS, .destroy = node_destroy, }; @@ -102,7 +102,7 @@ static void *create_object(void *_data, { struct factory_data *data = _data; struct pw_context *context = data->context; - struct pw_node *node; + struct pw_impl_node *node; const char *factory_name; struct node_data *nd; int res; @@ -138,12 +138,12 @@ static void *create_object(void *_data, nd->node = node; spa_list_append(&data->node_list, &nd->link); - pw_node_add_listener(node, &nd->node_listener, &node_events, nd); + pw_impl_node_add_listener(node, &nd->node_listener, &node_events, nd); if (client) { struct pw_resource *bound_resource; - res = pw_global_bind(pw_node_get_global(node), + res = pw_global_bind(pw_impl_node_get_global(node), client, PW_PERM_RWX, version, new_id); @@ -194,7 +194,7 @@ static void factory_destroy(void *_data) spa_hook_remove(&data->module_listener); spa_list_consume(nd, &data->node_list, link) - pw_node_destroy(nd->node); + pw_impl_node_destroy(nd->node); } static const struct pw_impl_factory_events factory_events = { diff --git a/src/modules/spa/module-node.c b/src/modules/spa/module-node.c index 747ee2a49..6b83aaff4 100644 --- a/src/modules/spa/module-node.c +++ b/src/modules/spa/module-node.c @@ -45,7 +45,7 @@ static const struct spa_dict_item module_props[] = { }; struct node_data { - struct pw_node *this; + struct pw_impl_node *this; struct pw_context *context; struct pw_properties *properties; @@ -56,7 +56,7 @@ static void module_destroy(void *_data) { struct node_data *data = _data; spa_hook_remove(&data->module_listener); - pw_node_destroy(data->this); + pw_impl_node_destroy(data->this); } static const struct pw_impl_module_events module_events = { @@ -71,7 +71,7 @@ int pipewire__module_init(struct pw_impl_module *module, const char *args) char **argv = NULL; int n_tokens, res; struct pw_context *context = pw_impl_module_get_context(module); - struct pw_node *node; + struct pw_impl_node *node; struct node_data *data; if (args == NULL) diff --git a/src/modules/spa/spa-node.c b/src/modules/spa/spa-node.c index e903c4e66..8258c16d5 100644 --- a/src/modules/spa/spa-node.c +++ b/src/modules/spa/spa-node.c @@ -40,7 +40,7 @@ #include "pipewire/private.h" struct impl { - struct pw_node *this; + struct pw_impl_node *this; enum pw_spa_node_flags flags; @@ -59,7 +59,7 @@ struct impl { static void spa_node_free(void *data) { struct impl *impl = data; - struct pw_node *node = impl->this; + struct pw_impl_node *node = impl->this; pw_log_debug("spa-node %p: free", node); @@ -71,23 +71,23 @@ static void spa_node_free(void *data) static void complete_init(struct impl *impl) { - struct pw_node *this = impl->this; + struct pw_impl_node *this = impl->this; impl->init_pending = SPA_ID_INVALID; if (SPA_FLAG_IS_SET(impl->flags, PW_SPA_NODE_FLAG_ACTIVATE)) - pw_node_set_active(this, true); + pw_impl_node_set_active(this, true); if (!SPA_FLAG_IS_SET(impl->flags, PW_SPA_NODE_FLAG_NO_REGISTER)) - pw_node_register(this, NULL); + pw_impl_node_register(this, NULL); else - pw_node_initialized(this); + pw_impl_node_initialized(this); } static void spa_node_result(void *data, int seq, int res, uint32_t type, const void *result) { struct impl *impl = data; - struct pw_node *node = impl->this; + struct pw_impl_node *node = impl->this; if (seq == impl->init_pending) { pw_log_debug("spa-node %p: init complete event %d %d", node, seq, res); @@ -95,13 +95,13 @@ static void spa_node_result(void *data, int seq, int res, uint32_t type, const v } } -static const struct pw_node_events node_events = { - PW_VERSION_NODE_EVENTS, +static const struct pw_impl_node_events node_events = { + PW_VERSION_IMPL_NODE_EVENTS, .free = spa_node_free, .result = spa_node_result, }; -struct pw_node * +struct pw_impl_node * pw_spa_node_new(struct pw_context *context, enum pw_spa_node_flags flags, struct spa_node *node, @@ -109,11 +109,11 @@ pw_spa_node_new(struct pw_context *context, struct pw_properties *properties, size_t user_data_size) { - struct pw_node *this; + struct pw_impl_node *this; struct impl *impl; int res; - this = pw_node_new(context, properties, sizeof(struct impl) + user_data_size); + this = pw_impl_node_new(context, properties, sizeof(struct impl) + user_data_size); if (this == NULL) { res = -errno; goto error_exit; @@ -128,8 +128,8 @@ pw_spa_node_new(struct pw_context *context, if (user_data_size > 0) impl->user_data = SPA_MEMBER(impl, sizeof(struct impl), void); - pw_node_add_listener(this, &impl->node_listener, &node_events, impl); - if ((res = pw_node_set_implementation(this, impl->node)) < 0) + pw_impl_node_add_listener(this, &impl->node_listener, &node_events, impl); + if ((res = pw_impl_node_set_implementation(this, impl->node)) < 0) goto error_exit_clean_node; if (flags & PW_SPA_NODE_FLAG_ASYNC) { @@ -140,7 +140,7 @@ pw_spa_node_new(struct pw_context *context, return this; error_exit_clean_node: - pw_node_destroy(this); + pw_impl_node_destroy(this); handle = NULL; error_exit: if (handle) @@ -150,7 +150,7 @@ error_exit: } -void *pw_spa_node_get_user_data(struct pw_node *node) +void *pw_spa_node_get_user_data(struct pw_impl_node *node) { struct impl *impl = node->user_data; return impl->user_data; @@ -230,13 +230,13 @@ setup_props(struct pw_context *context, struct spa_node *spa_node, struct pw_pro } -struct pw_node *pw_spa_node_load(struct pw_context *context, +struct pw_impl_node *pw_spa_node_load(struct pw_context *context, const char *factory_name, enum pw_spa_node_flags flags, struct pw_properties *properties, size_t user_data_size) { - struct pw_node *this; + struct pw_impl_node *this; struct impl *impl; struct spa_node *spa_node; int res; diff --git a/src/modules/spa/spa-node.h b/src/modules/spa/spa-node.h index ddd5f7f10..5289a172c 100644 --- a/src/modules/spa/spa-node.h +++ b/src/modules/spa/spa-node.h @@ -39,7 +39,7 @@ enum pw_spa_node_flags { PW_SPA_NODE_FLAG_ASYNC = (1 << 2), }; -struct pw_node * +struct pw_impl_node * pw_spa_node_new(struct pw_context *context, enum pw_spa_node_flags flags, struct spa_node *node, @@ -47,14 +47,14 @@ pw_spa_node_new(struct pw_context *context, struct pw_properties *properties, size_t user_data_size); -struct pw_node * +struct pw_impl_node * pw_spa_node_load(struct pw_context *context, const char *factory_name, enum pw_spa_node_flags flags, struct pw_properties *properties, size_t user_data_size); -void *pw_spa_node_get_user_data(struct pw_node *node); +void *pw_spa_node_get_user_data(struct pw_impl_node *node); #ifdef __cplusplus } diff --git a/src/pipewire/context.c b/src/pipewire/context.c index 70ec784fc..8c016d038 100644 --- a/src/pipewire/context.c +++ b/src/pipewire/context.c @@ -653,7 +653,7 @@ void pw_context_destroy(struct pw_context *context) struct pw_impl_device *device; struct pw_core *core; struct pw_resource *resource; - struct pw_node *node; + struct pw_impl_node *node; struct factory_entry *entry; pw_log_debug(NAME" %p: destroy", context); @@ -668,7 +668,7 @@ void pw_context_destroy(struct pw_context *context) pw_impl_module_destroy(module); spa_list_consume(node, &context->node_list, link) - pw_node_destroy(node); + pw_impl_node_destroy(node); spa_list_consume(device, &context->device_list, link) pw_impl_device_destroy(device); @@ -844,7 +844,7 @@ struct pw_impl_port *pw_context_find_port(struct pw_context *context, { struct pw_impl_port *best = NULL; bool have_id; - struct pw_node *n; + struct pw_impl_node *n; have_id = id != SPA_ID_INVALID; @@ -868,7 +868,7 @@ struct pw_impl_port *pw_context_find_port(struct pw_context *context, pw_log_debug(NAME" %p: id:%u matches node %p", context, id, n); best = - pw_node_find_port(n, + pw_impl_node_find_port(n, pw_direction_reverse(other_port->direction), SPA_ID_INVALID); if (best) @@ -880,7 +880,7 @@ struct pw_impl_port *pw_context_find_port(struct pw_context *context, struct spa_pod_builder b = SPA_POD_BUILDER_INIT(buf, sizeof(buf)); struct spa_pod *dummy; - p = pw_node_find_port(n, + p = pw_impl_node_find_port(n, pw_direction_reverse(other_port->direction), SPA_ID_INVALID); if (p == NULL) @@ -1090,10 +1090,10 @@ struct pw_impl_factory *pw_context_find_factory(struct pw_context *context, return NULL; } -static int collect_nodes(struct pw_node *driver) +static int collect_nodes(struct pw_impl_node *driver) { struct spa_list queue; - struct pw_node *n, *t; + struct pw_impl_node *n, *t; struct pw_impl_port *p; struct pw_impl_link *l; uint32_t max_quantum = 0; @@ -1113,7 +1113,7 @@ static int collect_nodes(struct pw_node *driver) spa_list_consume(n, &queue, sort_link) { spa_list_remove(&n->sort_link); - pw_node_set_driver(n, driver); + pw_impl_node_set_driver(n, driver); if (n->quantum_size > 0) { if (min_quantum == 0 || n->quantum_size < min_quantum) @@ -1155,7 +1155,7 @@ static int collect_nodes(struct pw_node *driver) int pw_context_recalc_graph(struct pw_context *context) { - struct pw_node *n, *s, *target; + struct pw_impl_node *n, *s, *target; /* start from all drivers and group all nodes that are linked * to it. Some nodes are not (yet) linked to anything and they @@ -1209,8 +1209,8 @@ int pw_context_recalc_graph(struct pw_context *context) if (n->quantum_size > 0 && n->quantum_size < target->quantum_current) target->quantum_current = SPA_MAX(MIN_QUANTUM, n->quantum_size); } - pw_node_set_driver(n, target); - pw_node_set_state(n, target && n->active ? + pw_impl_node_set_driver(n, target); + pw_impl_node_set_state(n, target && n->active ? PW_NODE_STATE_RUNNING : PW_NODE_STATE_IDLE); } n->visited = false; diff --git a/src/pipewire/impl-device.c b/src/pipewire/impl-device.c index 79dd08a96..cf8f7046d 100644 --- a/src/pipewire/impl-device.c +++ b/src/pipewire/impl-device.c @@ -74,7 +74,7 @@ static void object_destroy(struct object_data *od) { switch (od->type) { case SPA_TYPE_INTERFACE_Node: - pw_node_destroy(od->object); + pw_impl_node_destroy(od->object); break; case SPA_TYPE_INTERFACE_Device: pw_impl_device_destroy(od->object); @@ -86,7 +86,7 @@ static void object_update(struct object_data *od, const struct spa_dict *props) { switch (od->type) { case SPA_TYPE_INTERFACE_Node: - pw_node_update_properties(od->object, props); + pw_impl_node_update_properties(od->object, props); break; case SPA_TYPE_INTERFACE_Device: pw_impl_device_update_properties(od->object, props); @@ -98,8 +98,8 @@ static void object_register(struct object_data *od) { switch (od->type) { case SPA_TYPE_INTERFACE_Node: - pw_node_register(od->object, NULL); - pw_node_set_active(od->object, true); + pw_impl_node_register(od->object, NULL); + pw_impl_node_set_active(od->object, true); break; case SPA_TYPE_INTERFACE_Device: pw_impl_device_register(od->object, NULL); @@ -470,8 +470,8 @@ static void on_object_free(void *data) pw_unload_spa_handle(od->handle); } -static const struct pw_node_events node_object_events = { - PW_VERSION_NODE_EVENTS, +static const struct pw_impl_node_events node_object_events = { + PW_VERSION_IMPL_NODE_EVENTS, .destroy = on_object_destroy, .free = on_object_free, }; @@ -562,13 +562,13 @@ static void device_add_object(struct pw_impl_device *device, uint32_t id, switch (info->type) { case SPA_TYPE_INTERFACE_Node: { - struct pw_node *node; - node = pw_node_new(context, props, sizeof(struct object_data)); + struct pw_impl_node *node; + node = pw_impl_node_new(context, props, sizeof(struct object_data)); - od = pw_node_get_user_data(node); + od = pw_impl_node_get_user_data(node); od->object = node; - pw_node_add_listener(node, &od->listener, &node_object_events, od); - pw_node_set_implementation(node, iface); + pw_impl_node_add_listener(node, &od->listener, &node_object_events, od); + pw_impl_node_set_implementation(node, iface); break; } case SPA_TYPE_INTERFACE_Device: diff --git a/src/pipewire/impl-link.c b/src/pipewire/impl-link.c index 83e9e6e04..1f066ff85 100644 --- a/src/pipewire/impl-link.c +++ b/src/pipewire/impl-link.c @@ -66,7 +66,7 @@ struct impl { struct spa_io_buffers io; - struct pw_node *inode, *onode; + struct pw_impl_node *inode, *onode; }; struct resource_data { @@ -77,7 +77,7 @@ struct resource_data { static void debug_link(struct pw_impl_link *link) { - struct pw_node *in = link->input->node, *out = link->output->node; + struct pw_impl_node *in = link->input->node, *out = link->output->node; pw_log_debug(NAME" %p: %d %d %d out %d %d %d , %d %d %d in %d %d %d", link, out->n_used_input_links, @@ -110,7 +110,7 @@ static void info_changed(struct pw_impl_link *link) static void pw_impl_link_update_state(struct pw_impl_link *link, enum pw_link_state state, char *error) { enum pw_link_state old = link->info.state; - struct pw_node *in = link->input->node, *out = link->output->node; + struct pw_impl_node *in = link->input->node, *out = link->output->node; if (state == old) return; @@ -137,19 +137,19 @@ static void pw_impl_link_update_state(struct pw_impl_link *link, enum pw_link_st if (old != PW_LINK_STATE_PAUSED && state == PW_LINK_STATE_PAUSED) { if (++out->n_ready_output_links == out->n_used_output_links && out->n_ready_input_links == out->n_used_input_links) - pw_node_set_state(out, PW_NODE_STATE_RUNNING); + pw_impl_node_set_state(out, PW_NODE_STATE_RUNNING); if (++in->n_ready_input_links == in->n_used_input_links && in->n_ready_output_links == in->n_used_output_links) - pw_node_set_state(in, PW_NODE_STATE_RUNNING); + pw_impl_node_set_state(in, PW_NODE_STATE_RUNNING); pw_impl_link_activate(link); } else if (old == PW_LINK_STATE_PAUSED && state < PW_LINK_STATE_PAUSED) { if (--out->n_ready_output_links == 0 && out->n_ready_input_links == 0) - pw_node_set_state(out, PW_NODE_STATE_IDLE); + pw_impl_node_set_state(out, PW_NODE_STATE_IDLE); if (--in->n_ready_input_links == 0 && in->n_ready_output_links == 0) - pw_node_set_state(in, PW_NODE_STATE_IDLE); + pw_impl_node_set_state(in, PW_NODE_STATE_IDLE); } } @@ -260,7 +260,7 @@ static int do_negotiate(struct pw_impl_link *this) spa_debug_pod(2, NULL, current); spa_debug_pod(2, NULL, format); } - pw_node_set_state(output->node, PW_NODE_STATE_SUSPENDED); + pw_impl_node_set_state(output->node, PW_NODE_STATE_SUSPENDED); out_state = PW_IMPL_PORT_STATE_CONFIGURE; } else { @@ -296,7 +296,7 @@ static int do_negotiate(struct pw_impl_link *this) spa_debug_pod(2, NULL, current); spa_debug_pod(2, NULL, format); } - pw_node_set_state(input->node, PW_NODE_STATE_SUSPENDED); + pw_impl_node_set_state(input->node, PW_NODE_STATE_SUSPENDED); in_state = PW_IMPL_PORT_STATE_CONFIGURE; } else { @@ -736,7 +736,7 @@ do_deactivate_link(struct spa_loop *loop, int pw_impl_link_deactivate(struct pw_impl_link *this) { struct impl *impl = SPA_CONTAINER_OF(this, struct impl, this); - struct pw_node *input_node, *output_node; + struct pw_impl_node *input_node, *output_node; pw_log_debug(NAME" %p: deactivate %d %d", this, impl->prepare, impl->activated); @@ -771,7 +771,7 @@ int pw_impl_link_deactivate(struct pw_impl_link *this) if (input_node->n_used_input_links <= input_node->idle_used_input_links && input_node->n_used_output_links <= input_node->idle_used_output_links && input_node->info.state > PW_NODE_STATE_IDLE) { - pw_node_set_state(input_node, PW_NODE_STATE_IDLE); + pw_impl_node_set_state(input_node, PW_NODE_STATE_IDLE); pw_log_debug(NAME" %p: input port %p state %d -> %d", this, this->input, this->input->state, PW_IMPL_PORT_STATE_PAUSED); } @@ -779,7 +779,7 @@ int pw_impl_link_deactivate(struct pw_impl_link *this) if (output_node->n_used_input_links <= output_node->idle_used_input_links && output_node->n_used_output_links <= output_node->idle_used_output_links && output_node->info.state > PW_NODE_STATE_IDLE) { - pw_node_set_state(output_node, PW_NODE_STATE_IDLE); + pw_impl_node_set_state(output_node, PW_NODE_STATE_IDLE); pw_log_debug(NAME" %p: output port %p state %d -> %d", this, this->output, this->output->state, PW_IMPL_PORT_STATE_PAUSED); } @@ -898,17 +898,17 @@ static void output_node_result(void *data, int seq, int res, uint32_t type, cons node_result(impl, port, seq, res, type, result); } -static const struct pw_node_events input_node_events = { - PW_VERSION_NODE_EVENTS, +static const struct pw_impl_node_events input_node_events = { + PW_VERSION_IMPL_NODE_EVENTS, .result = input_node_result, }; -static const struct pw_node_events output_node_events = { - PW_VERSION_NODE_EVENTS, +static const struct pw_impl_node_events output_node_events = { + PW_VERSION_IMPL_NODE_EVENTS, .result = output_node_result, }; -static bool pw_node_can_reach(struct pw_node *output, struct pw_node *input) +static bool pw_impl_node_can_reach(struct pw_impl_node *output, struct pw_impl_node *input) { struct pw_impl_port *p; @@ -927,7 +927,7 @@ static bool pw_node_can_reach(struct pw_node *output, struct pw_node *input) spa_list_for_each(l, &p->links, output_link) { if (l->feedback) continue; - if (pw_node_can_reach(l->input->node, input)) + if (pw_impl_node_can_reach(l->input->node, input)) return true; } } @@ -1041,7 +1041,7 @@ struct pw_impl_link *pw_impl_link_new(struct pw_context *context, { struct impl *impl; struct pw_impl_link *this; - struct pw_node *input_node, *output_node; + struct pw_impl_node *input_node, *output_node; const char *str; int res; @@ -1071,7 +1071,7 @@ struct pw_impl_link *pw_impl_link_new(struct pw_context *context, goto error_no_mem; this = &impl->this; - this->feedback = pw_node_can_reach(input_node, output_node); + this->feedback = pw_impl_node_can_reach(input_node, output_node); pw_log_debug(NAME" %p: new out-port:%p -> in-port:%p", this, output, input); if (user_data_size > 0) @@ -1095,10 +1095,10 @@ struct pw_impl_link *pw_impl_link_new(struct pw_context *context, impl->format_filter = format_filter; pw_impl_port_add_listener(input, &impl->input_port_listener, &input_port_events, impl); - pw_node_add_listener(input_node, &impl->input_node_listener, &input_node_events, impl); + pw_impl_node_add_listener(input_node, &impl->input_node_listener, &input_node_events, impl); pw_global_add_listener(input->global, &impl->input_global_listener, &input_global_events, impl); pw_impl_port_add_listener(output, &impl->output_port_listener, &output_port_events, impl); - pw_node_add_listener(output_node, &impl->output_node_listener, &output_node_events, impl); + pw_impl_node_add_listener(output_node, &impl->output_node_listener, &output_node_events, impl); pw_global_add_listener(output->global, &impl->output_global_listener, &output_global_events, impl); input_node->live = output_node->live; @@ -1142,7 +1142,7 @@ struct pw_impl_link *pw_impl_link_new(struct pw_context *context, try_link_controls(impl, output, input); - pw_node_emit_peer_added(output_node, input_node); + pw_impl_node_emit_peer_added(output_node, input_node); pw_context_recalc_graph(context); @@ -1198,7 +1198,7 @@ int pw_impl_link_register(struct pw_impl_link *link, struct pw_properties *properties) { struct pw_context *context = link->context; - struct pw_node *output_node, *input_node; + struct pw_impl_node *output_node, *input_node; const char *keys[] = { PW_KEY_OBJECT_PATH, PW_KEY_MODULE_ID, @@ -1277,7 +1277,7 @@ void pw_impl_link_destroy(struct pw_impl_link *link) if (link->registered) spa_list_remove(&link->link); - pw_node_emit_peer_removed(link->output->node, link->input->node); + pw_impl_node_emit_peer_removed(link->output->node, link->input->node); try_unlink_controls(impl, link->output, link->input); diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c index f4335e306..482c430e4 100644 --- a/src/pipewire/impl-node.c +++ b/src/pipewire/impl-node.c @@ -41,7 +41,7 @@ /** \cond */ struct impl { - struct pw_node this; + struct pw_impl_node this; struct pw_work_queue *work; @@ -55,7 +55,7 @@ struct impl { #define pw_node_resource_param(r,...) pw_node_resource(r,param,0,__VA_ARGS__) struct resource_data { - struct pw_node *node; + struct pw_impl_node *node; struct pw_resource *resource; struct spa_hook resource_listener; @@ -72,7 +72,7 @@ struct resource_data { /** \endcond */ -static void node_deactivate(struct pw_node *this) +static void node_deactivate(struct pw_impl_node *this) { struct pw_impl_port *port; struct pw_impl_link *link; @@ -88,7 +88,7 @@ static void node_deactivate(struct pw_node *this) } } -static void add_node(struct pw_node *this, struct pw_node *driver) +static void add_node(struct pw_impl_node *this, struct pw_impl_node *driver) { uint32_t rdriver, rnode; @@ -110,7 +110,7 @@ static void add_node(struct pw_node *this, struct pw_node *driver) pw_log_trace(NAME" %p: required driver:%d node:%d", this, rdriver, rnode); } -static void remove_node(struct pw_node *this) +static void remove_node(struct pw_impl_node *this) { uint32_t rdriver, rnode; @@ -134,7 +134,7 @@ static int do_node_remove(struct spa_loop *loop, bool async, uint32_t seq, const void *data, size_t size, void *user_data) { - struct pw_node *this = user_data; + struct pw_impl_node *this = user_data; if (this->source.loop != NULL) { spa_loop_remove_source(loop, &this->source); remove_node(this); @@ -142,7 +142,7 @@ do_node_remove(struct spa_loop *loop, return 0; } -static int pause_node(struct pw_node *this) +static int pause_node(struct pw_impl_node *this) { struct impl *impl = SPA_CONTAINER_OF(this, struct impl, this); int res = 0; @@ -169,8 +169,8 @@ static int do_node_add(struct spa_loop *loop, bool async, uint32_t seq, const void *data, size_t size, void *user_data) { - struct pw_node *this = user_data; - struct pw_node *driver = this->driver_node; + struct pw_impl_node *this = user_data; + struct pw_impl_node *driver = this->driver_node; if (this->source.loop == NULL) { spa_loop_add_source(loop, &this->source); @@ -179,7 +179,7 @@ do_node_add(struct spa_loop *loop, return 0; } -static int start_node(struct pw_node *this) +static int start_node(struct pw_impl_node *this) { int res = 0; @@ -204,14 +204,14 @@ static int start_node(struct pw_node *this) return res; } -static void emit_info_changed(struct pw_node *node) +static void emit_info_changed(struct pw_impl_node *node) { struct pw_resource *resource; if (node->info.change_mask == 0) return; - pw_node_emit_info_changed(node, &node->info); + pw_impl_node_emit_info_changed(node, &node->info); if (node->global) spa_list_for_each(resource, &node->global->resource_list, link) @@ -235,7 +235,7 @@ static int resource_is_subscribed(struct pw_resource *resource, uint32_t id) static int notify_param(void *data, int seq, uint32_t id, uint32_t index, uint32_t next, struct spa_pod *param) { - struct pw_node *node = data; + struct pw_impl_node *node = data; struct pw_resource *resource; spa_list_for_each(resource, &node->global->resource_list, link) { @@ -248,7 +248,7 @@ static int notify_param(void *data, int seq, uint32_t id, return 0; } -static void emit_params(struct pw_node *node, uint32_t *changed_ids, uint32_t n_changed_ids) +static void emit_params(struct pw_impl_node *node, uint32_t *changed_ids, uint32_t n_changed_ids) { uint32_t i; int res; @@ -270,14 +270,14 @@ static void emit_params(struct pw_node *node, uint32_t *changed_ids, uint32_t n_ if (!subscribed) continue; - if ((res = pw_node_for_each_param(node, 1, changed_ids[i], 0, UINT32_MAX, + if ((res = pw_impl_node_for_each_param(node, 1, changed_ids[i], 0, UINT32_MAX, NULL, notify_param, node)) < 0) { pw_log_error(NAME" %p: error %d (%s)", node, res, spa_strerror(res)); } } } -static void node_update_state(struct pw_node *node, enum pw_node_state state, char *error) +static void node_update_state(struct pw_impl_node *node, enum pw_node_state state, char *error) { enum pw_node_state old; @@ -305,13 +305,13 @@ static void node_update_state(struct pw_node *node, enum pw_node_state state, ch break; } - pw_node_emit_state_changed(node, old, state, error); + pw_impl_node_emit_state_changed(node, old, state, error); node->info.change_mask |= PW_NODE_CHANGE_MASK_STATE; emit_info_changed(node); } -static int suspend_node(struct pw_node *this) +static int suspend_node(struct pw_impl_node *this) { int res = 0; struct pw_impl_port *p; @@ -353,7 +353,7 @@ static void node_unbind_func(void *data) } static void -clear_info(struct pw_node *this) +clear_info(struct pw_impl_node *this) { free(this->name); free((char*)this->info.error); @@ -378,7 +378,7 @@ static int node_enum_params(void *object, int seq, uint32_t id, { struct pw_resource *resource = object; struct resource_data *data = pw_resource_get_user_data(resource); - struct pw_node *node = data->node; + struct pw_impl_node *node = data->node; struct pw_impl_client *client = resource->client; int res; @@ -386,7 +386,7 @@ static int node_enum_params(void *object, int seq, uint32_t id, node, resource, seq, spa_debug_type_find_name(spa_type_param, id), index, num); - if ((res = pw_node_for_each_param(node, seq, id, index, num, + if ((res = pw_impl_node_for_each_param(node, seq, id, index, num, filter, reply_param, data)) < 0) { pw_log_error(NAME" %p: resource %p %d error %d (%s)", node, resource, resource->id, res, spa_strerror(res)); @@ -434,7 +434,7 @@ static int node_set_param(void *object, uint32_t id, uint32_t flags, { struct pw_resource *resource = object; struct resource_data *data = pw_resource_get_user_data(resource); - struct pw_node *node = data->node; + struct pw_impl_node *node = data->node; struct pw_impl_client *client = resource->client; int res; static const struct spa_node_events node_events = { @@ -466,7 +466,7 @@ static int node_send_command(void *object, const struct spa_command *command) { struct pw_resource *resource = object; struct resource_data *data = pw_resource_get_user_data(resource); - struct pw_node *node = data->node; + struct pw_impl_node *node = data->node; switch (SPA_NODE_COMMAND_ID(command)) { case SPA_NODE_COMMAND_Suspend: @@ -491,7 +491,7 @@ static int global_bind(void *_data, struct pw_impl_client *client, uint32_t permissions, uint32_t version, uint32_t id) { - struct pw_node *this = _data; + struct pw_impl_node *this = _data; struct pw_global *global = this->global; struct pw_resource *resource; struct resource_data *data; @@ -530,10 +530,10 @@ error_resource: static void global_destroy(void *data) { - struct pw_node *this = data; + struct pw_impl_node *this = data; spa_hook_remove(&this->global_listener); this->global = NULL; - pw_node_destroy(this); + pw_impl_node_destroy(this); } static const struct pw_global_events global_events = { @@ -541,9 +541,9 @@ static const struct pw_global_events global_events = { .destroy = global_destroy, }; -static inline void insert_driver(struct pw_context *context, struct pw_node *node) +static inline void insert_driver(struct pw_context *context, struct pw_impl_node *node) { - struct pw_node *n, *t; + struct pw_impl_node *n, *t; spa_list_for_each_safe(n, t, &context->driver_list, driver_link) { if (n->priority_master < node->priority_master) @@ -553,7 +553,7 @@ static inline void insert_driver(struct pw_context *context, struct pw_node *nod } SPA_EXPORT -int pw_node_register(struct pw_node *this, +int pw_impl_node_register(struct pw_impl_node *this, struct pw_properties *properties) { struct pw_context *context = this->context; @@ -607,7 +607,7 @@ int pw_node_register(struct pw_node *this, pw_properties_setf(this->properties, PW_KEY_OBJECT_ID, "%d", this->info.id); this->info.props = &this->properties->dict; - pw_node_initialized(this); + pw_impl_node_initialized(this); pw_global_add_listener(this->global, &this->global_listener, &global_events, this); pw_global_register(this->global); @@ -628,10 +628,10 @@ error_existed: } SPA_EXPORT -int pw_node_initialized(struct pw_node *this) +int pw_impl_node_initialized(struct pw_impl_node *this) { pw_log_debug(NAME" %p initialized", this); - pw_node_emit_initialized(this); + pw_impl_node_emit_initialized(this); node_update_state(this, PW_NODE_STATE_SUSPENDED, NULL); return 0; } @@ -641,8 +641,8 @@ do_move_nodes(struct spa_loop *loop, bool async, uint32_t seq, const void *data, size_t size, void *user_data) { struct impl *src = user_data; - struct pw_node *driver = *(struct pw_node **)data; - struct pw_node *this = &src->this; + struct pw_impl_node *driver = *(struct pw_impl_node **)data; + struct pw_impl_node *this = &src->this; pw_log_trace(NAME" %p: driver:%p->%p", this, this->driver_node, driver); @@ -653,7 +653,7 @@ do_move_nodes(struct spa_loop *loop, return 0; } -static void remove_segment_master(struct pw_node *driver, uint32_t node_id) +static void remove_segment_master(struct pw_impl_node *driver, uint32_t node_id) { struct pw_node_activation *a = driver->rt.activation; ATOMIC_CAS(a->segment_owner[0], node_id, 0); @@ -661,10 +661,10 @@ static void remove_segment_master(struct pw_node *driver, uint32_t node_id) } SPA_EXPORT -int pw_node_set_driver(struct pw_node *node, struct pw_node *driver) +int pw_impl_node_set_driver(struct pw_impl_node *node, struct pw_impl_node *driver) { struct impl *impl = SPA_CONTAINER_OF(node, struct impl, this); - struct pw_node *old = node->driver_node; + struct pw_impl_node *old = node->driver_node; int res; if (driver == NULL) @@ -683,7 +683,7 @@ int pw_node_set_driver(struct pw_node *node, struct pw_node *driver) node->driver_node = driver; - pw_node_emit_driver_changed(node, old, driver); + pw_impl_node_emit_driver_changed(node, old, driver); if ((res = spa_node_set_io(node->node, SPA_IO_Position, @@ -696,7 +696,7 @@ int pw_node_set_driver(struct pw_node *node, struct pw_node *driver) } pw_loop_invoke(node->data_loop, - do_move_nodes, SPA_ID_INVALID, &driver, sizeof(struct pw_node *), + do_move_nodes, SPA_ID_INVALID, &driver, sizeof(struct pw_impl_node *), true, impl); return 0; } @@ -711,7 +711,7 @@ static uint32_t flp2(uint32_t x) return x - (x >> 1); } -static void check_properties(struct pw_node *node) +static void check_properties(struct pw_impl_node *node) { struct impl *impl = SPA_CONTAINER_OF(node, struct impl, this); const char *str; @@ -775,7 +775,7 @@ static void check_properties(struct pw_node *node) pw_context_recalc_graph(node->context); } -static void dump_states(struct pw_node *driver) +static void dump_states(struct pw_impl_node *driver) { struct pw_node_target *t; @@ -796,7 +796,7 @@ static void dump_states(struct pw_node *driver) } } -static inline int resume_node(struct pw_node *this, int status) +static inline int resume_node(struct pw_impl_node *this, int status) { struct pw_node_target *t; struct timespec ts; @@ -828,7 +828,7 @@ static inline int resume_node(struct pw_node *this, int status) return 0; } -static inline void calculate_stats(struct pw_node *this, struct pw_node_activation *a) +static inline void calculate_stats(struct pw_impl_node *this, struct pw_node_activation *a) { if (a->signal_time > a->prev_signal_time) { uint64_t process_time = a->finish_time - a->signal_time; @@ -842,7 +842,7 @@ static inline void calculate_stats(struct pw_node *this, struct pw_node_activat static inline int process_node(void *data) { - struct pw_node *this = data; + struct pw_impl_node *this = data; struct timespec ts; struct pw_impl_port *p; struct pw_node_activation *a = this->rt.activation; @@ -897,7 +897,7 @@ static inline int process_node(void *data) static void node_on_fd_events(struct spa_source *source) { - struct pw_node *this = source->data; + struct pw_impl_node *this = source->data; struct spa_system *data_system = this->context->data_system; if (source->rmask & (SPA_IO_ERR | SPA_IO_HUP)) { @@ -936,12 +936,12 @@ static void reset_position(struct spa_io_position *pos) } SPA_EXPORT -struct pw_node *pw_node_new(struct pw_context *context, +struct pw_impl_node *pw_impl_node_new(struct pw_context *context, struct pw_properties *properties, size_t user_data_size) { struct impl *impl; - struct pw_node *this; + struct pw_impl_node *this; size_t size; struct spa_system *data_system = context->data_system; int res; @@ -1048,36 +1048,36 @@ error_exit: } SPA_EXPORT -const struct pw_node_info *pw_node_get_info(struct pw_node *node) +const struct pw_node_info *pw_impl_node_get_info(struct pw_impl_node *node) { return &node->info; } SPA_EXPORT -void * pw_node_get_user_data(struct pw_node *node) +void * pw_impl_node_get_user_data(struct pw_impl_node *node) { return node->user_data; } SPA_EXPORT -struct pw_context * pw_node_get_context(struct pw_node *node) +struct pw_context * pw_impl_node_get_context(struct pw_impl_node *node) { return node->context; } SPA_EXPORT -struct pw_global *pw_node_get_global(struct pw_node *node) +struct pw_global *pw_impl_node_get_global(struct pw_impl_node *node) { return node->global; } SPA_EXPORT -const struct pw_properties *pw_node_get_properties(struct pw_node *node) +const struct pw_properties *pw_impl_node_get_properties(struct pw_impl_node *node) { return node->properties; } -static int update_properties(struct pw_node *node, const struct spa_dict *dict) +static int update_properties(struct pw_impl_node *node, const struct spa_dict *dict) { int changed; @@ -1094,7 +1094,7 @@ static int update_properties(struct pw_node *node, const struct spa_dict *dict) } SPA_EXPORT -int pw_node_update_properties(struct pw_node *node, const struct spa_dict *dict) +int pw_impl_node_update_properties(struct pw_impl_node *node, const struct spa_dict *dict) { int changed = update_properties(node, dict); emit_info_changed(node); @@ -1103,7 +1103,7 @@ int pw_node_update_properties(struct pw_node *node, const struct spa_dict *dict) static void node_info(void *data, const struct spa_node_info *info) { - struct pw_node *node = data; + struct pw_impl_node *node = data; uint32_t changed_ids[MAX_PARAMS], n_changed_ids = 0; node->info.max_input_ports = info->max_input_ports; @@ -1149,8 +1149,8 @@ static void node_info(void *data, const struct spa_node_info *info) static void node_port_info(void *data, enum spa_direction direction, uint32_t port_id, const struct spa_port_info *info) { - struct pw_node *node = data; - struct pw_impl_port *port = pw_node_find_port(node, direction, port_id); + struct pw_impl_node *node = data; + struct pw_impl_port *port = pw_impl_node_find_port(node, direction, port_id); if (info == NULL) { if (port) { @@ -1184,7 +1184,7 @@ static void node_port_info(void *data, enum spa_direction direction, uint32_t po static void node_result(void *data, int seq, int res, uint32_t type, const void *result) { - struct pw_node *node = data; + struct pw_impl_node *node = data; struct impl *impl = SPA_CONTAINER_OF(node, struct impl, this); pw_log_trace(NAME" %p: result seq:%d res:%d type:%u", node, seq, res, type); @@ -1193,12 +1193,12 @@ static void node_result(void *data, int seq, int res, uint32_t type, const void if (SPA_RESULT_IS_ASYNC(seq)) pw_work_queue_complete(impl->work, &impl->this, SPA_RESULT_ASYNC_SEQ(seq), res); - pw_node_emit_result(node, seq, res, type, result); + pw_impl_node_emit_result(node, seq, res, type, result); } static void node_event(void *data, const struct spa_event *event) { - struct pw_node *node = data; + struct pw_impl_node *node = data; struct impl *impl = SPA_CONTAINER_OF(node, struct impl, this); pw_log_trace(NAME" %p: event %d", node, SPA_EVENT_TYPE(event)); @@ -1211,7 +1211,7 @@ static void node_event(void *data, const struct spa_event *event) default: break; } - pw_node_emit_event(node, event); + pw_impl_node_emit_event(node, event); } static const struct spa_node_events node_events = { @@ -1226,7 +1226,7 @@ static const struct spa_node_events node_events = { #define SYNC_START 1 #define SYNC_STOP 2 -static int check_updates(struct pw_node *node, uint32_t *reposition_owner) +static int check_updates(struct pw_impl_node *node, uint32_t *reposition_owner) { int res = SYNC_CHECK; struct pw_node_activation *a = node->rt.activation; @@ -1261,7 +1261,7 @@ static int check_updates(struct pw_node *node, uint32_t *reposition_owner) return res; } -static void do_reposition(struct pw_node *driver, struct pw_node *node) +static void do_reposition(struct pw_impl_node *driver, struct pw_impl_node *node) { struct pw_node_activation *a = driver->rt.activation; struct spa_io_segment *dst, *src; @@ -1285,7 +1285,7 @@ static void do_reposition(struct pw_node *driver, struct pw_node *node) } } -static void update_position(struct pw_node *node, int all_ready) +static void update_position(struct pw_impl_node *node, int all_ready) { struct pw_node_activation *a = node->rt.activation; @@ -1304,8 +1304,8 @@ static void update_position(struct pw_node *node, int all_ready) static int node_ready(void *data, int status) { - struct pw_node *node = data, *reposition_node = NULL; - struct pw_node *driver = node->driver_node; + struct pw_impl_node *node = data, *reposition_node = NULL; + struct pw_impl_node *driver = node->driver_node; struct pw_node_target *t; struct pw_impl_port *p; @@ -1377,7 +1377,7 @@ static int node_ready(void *data, int status) static int node_reuse_buffer(void *data, uint32_t port_id, uint32_t buffer_id) { - struct pw_node *node = data; + struct pw_impl_node *node = data; struct pw_impl_port *p; spa_list_for_each(p, &node->rt.input_mix, rt.node_link) { @@ -1392,7 +1392,7 @@ static int node_reuse_buffer(void *data, uint32_t port_id, uint32_t buffer_id) static int node_xrun(void *data, uint64_t trigger, uint64_t delay, struct spa_pod *info) { - struct pw_node *this = data; + struct pw_impl_node *this = data; struct pw_node_activation *a = this->rt.activation; a->xrun_count++; @@ -1414,7 +1414,7 @@ static const struct spa_node_callbacks node_callbacks = { }; SPA_EXPORT -int pw_node_set_implementation(struct pw_node *node, +int pw_impl_node_set_implementation(struct pw_impl_node *node, struct spa_node *spa_node) { int res; @@ -1450,15 +1450,15 @@ int pw_node_set_implementation(struct pw_node *node, } SPA_EXPORT -struct spa_node *pw_node_get_implementation(struct pw_node *node) +struct spa_node *pw_impl_node_get_implementation(struct pw_impl_node *node) { return node->node; } SPA_EXPORT -void pw_node_add_listener(struct pw_node *node, +void pw_impl_node_add_listener(struct pw_impl_node *node, struct spa_hook *listener, - const struct pw_node_events *events, + const struct pw_impl_node_events *events, void *data) { spa_hook_list_append(&node->listener_list, listener, events, data); @@ -1470,19 +1470,19 @@ void pw_node_add_listener(struct pw_node *node, * Remove \a node. This will stop the transfer on the node and * free the resources allocated by \a node. * - * \memberof pw_node + * \memberof pw_impl_node */ SPA_EXPORT -void pw_node_destroy(struct pw_node *node) +void pw_impl_node_destroy(struct pw_impl_node *node) { struct impl *impl = SPA_CONTAINER_OF(node, struct impl, this); struct pw_impl_port *port; - struct pw_node *slave; + struct pw_impl_node *slave; node->active = false; pw_log_debug(NAME" %p: destroy", impl); - pw_node_emit_destroy(node); + pw_impl_node_emit_destroy(node); suspend_node(node); @@ -1494,7 +1494,7 @@ void pw_node_destroy(struct pw_node *node) spa_list_consume(slave, &node->slave_list, slave_link) { pw_log_debug(NAME" %p: reslave %p", impl, slave); - pw_node_set_driver(slave, NULL); + pw_impl_node_set_driver(slave, NULL); } if (node->registered) { @@ -1528,7 +1528,7 @@ void pw_node_destroy(struct pw_node *node) pw_context_recalc_graph(node->context); pw_log_debug(NAME" %p: free", node); - pw_node_emit_free(node); + pw_impl_node_emit_free(node); pw_memblock_unref(node->activation); @@ -1546,7 +1546,7 @@ void pw_node_destroy(struct pw_node *node) } SPA_EXPORT -int pw_node_for_each_port(struct pw_node *node, +int pw_impl_node_for_each_port(struct pw_impl_node *node, enum pw_direction direction, int (*callback) (void *data, struct pw_impl_port *port), void *data) @@ -1591,7 +1591,7 @@ static void result_node_params(void *data, int seq, int res, uint32_t type, cons } SPA_EXPORT -int pw_node_for_each_param(struct pw_node *node, +int pw_impl_node_for_each_param(struct pw_impl_node *node, int seq, uint32_t param_id, uint32_t index, uint32_t max, const struct spa_pod *filter, @@ -1626,7 +1626,7 @@ int pw_node_for_each_param(struct pw_node *node, } SPA_EXPORT -int pw_node_set_param(struct pw_node *node, +int pw_impl_node_set_param(struct pw_impl_node *node, uint32_t id, uint32_t flags, const struct spa_pod *param) { pw_log_debug(NAME" %p: set_param %s flags:%08x param:%p", node, @@ -1636,7 +1636,7 @@ int pw_node_set_param(struct pw_node *node, SPA_EXPORT struct pw_impl_port * -pw_node_find_port(struct pw_node *node, enum pw_direction direction, uint32_t port_id) +pw_impl_node_find_port(struct pw_impl_node *node, enum pw_direction direction, uint32_t port_id) { struct pw_impl_port *port, *p; struct pw_map *portmap; @@ -1671,7 +1671,7 @@ pw_node_find_port(struct pw_node *node, enum pw_direction direction, uint32_t po } SPA_EXPORT -uint32_t pw_node_get_free_port_id(struct pw_node *node, enum pw_direction direction) +uint32_t pw_impl_node_get_free_port_id(struct pw_impl_node *node, enum pw_direction direction) { uint32_t n_ports, max_ports; struct pw_map *portmap; @@ -1716,7 +1716,7 @@ error: static void on_state_complete(void *obj, void *data, int res, uint32_t seq) { - struct pw_node *node = obj; + struct pw_impl_node *node = obj; enum pw_node_state state = SPA_PTR_TO_INT(data); char *error = NULL; @@ -1728,7 +1728,7 @@ static void on_state_complete(void *obj, void *data, int res, uint32_t seq) node_update_state(node, state, error); } -static void node_activate(struct pw_node *this) +static void node_activate(struct pw_impl_node *this) { struct pw_impl_port *port; @@ -1746,16 +1746,16 @@ static void node_activate(struct pw_node *this) } /** Set the node state - * \param node a \ref pw_node + * \param node a \ref pw_impl_node * \param state a \ref pw_node_state * \return 0 on success < 0 on error * * Set the state of \a node to \a state. * - * \memberof pw_node + * \memberof pw_impl_node */ SPA_EXPORT -int pw_node_set_state(struct pw_node *node, enum pw_node_state state) +int pw_impl_node_set_state(struct pw_impl_node *node, enum pw_node_state state) { int res = 0; struct impl *impl = SPA_CONTAINER_OF(node, struct impl, this); @@ -1769,7 +1769,7 @@ int pw_node_set_state(struct pw_node *node, enum pw_node_state state) if (old == state) return 0; - pw_node_emit_state_request(node, state); + pw_impl_node_emit_state_request(node, state); switch (state) { case PW_NODE_STATE_CREATING: @@ -1807,7 +1807,7 @@ int pw_node_set_state(struct pw_node *node, enum pw_node_state state) } SPA_EXPORT -int pw_node_set_active(struct pw_node *node, bool active) +int pw_impl_node_set_active(struct pw_impl_node *node, bool active) { bool old = node->active; @@ -1815,10 +1815,10 @@ int pw_node_set_active(struct pw_node *node, bool active) pw_log_debug(NAME" %p: %s", node, active ? "activate" : "deactivate"); if (!active) - pw_node_set_state(node, PW_NODE_STATE_IDLE); + pw_impl_node_set_state(node, PW_NODE_STATE_IDLE); node->active = active; - pw_node_emit_active_changed(node, active); + pw_impl_node_emit_active_changed(node, active); if (active) node_activate(node); @@ -1830,7 +1830,7 @@ int pw_node_set_active(struct pw_node *node, bool active) } SPA_EXPORT -bool pw_node_is_active(struct pw_node *node) +bool pw_impl_node_is_active(struct pw_impl_node *node) { return node->active; } diff --git a/src/pipewire/impl-node.h b/src/pipewire/impl-node.h index b192166c0..6414df4eb 100644 --- a/src/pipewire/impl-node.h +++ b/src/pipewire/impl-node.h @@ -37,11 +37,11 @@ extern "C" { * input and output ports (\ref page_port) on which it * will receive and send out buffers respectively. */ -/** \class pw_node +/** \class pw_impl_node * * PipeWire node class. */ -struct pw_node; +struct pw_impl_node; struct pw_impl_port; #include @@ -49,9 +49,9 @@ struct pw_impl_port; #include -/** Node events, listen to them with \ref pw_node_add_listener */ -struct pw_node_events { -#define PW_VERSION_NODE_EVENTS 0 +/** Node events, listen to them with \ref pw_impl_node_add_listener */ +struct pw_impl_node_events { +#define PW_VERSION_IMPL_NODE_EVENTS 0 uint32_t version; /** the node is destroyed */ @@ -89,67 +89,67 @@ struct pw_node_events { void (*event) (void *data, const struct spa_event *event); /** the driver of the node changed */ - void (*driver_changed) (void *data, struct pw_node *old, struct pw_node *driver); + void (*driver_changed) (void *data, struct pw_impl_node *old, struct pw_impl_node *driver); /** a peer was added */ - void (*peer_added) (void *data, struct pw_node *peer); + void (*peer_added) (void *data, struct pw_impl_node *peer); /** a peer was removed */ - void (*peer_removed) (void *data, struct pw_node *peer); + void (*peer_removed) (void *data, struct pw_impl_node *peer); }; -/** Create a new node \memberof pw_node */ -struct pw_node * -pw_node_new(struct pw_context *context, /**< the context */ +/** Create a new node \memberof pw_impl_node */ +struct pw_impl_node * +pw_impl_node_new(struct pw_context *context, /**< the context */ struct pw_properties *properties, /**< extra properties */ size_t user_data_size /**< user data size */); /** Complete initialization of the node and register */ -int pw_node_register(struct pw_node *node, /**< node to register */ +int pw_impl_node_register(struct pw_impl_node *node, /**< node to register */ struct pw_properties *properties /**< extra properties */); /** Destroy a node */ -void pw_node_destroy(struct pw_node *node); +void pw_impl_node_destroy(struct pw_impl_node *node); /** Get the node info */ -const struct pw_node_info *pw_node_get_info(struct pw_node *node); +const struct pw_node_info *pw_impl_node_get_info(struct pw_impl_node *node); -/** Get node user_data. The size of the memory was given in \ref pw_node_new */ -void * pw_node_get_user_data(struct pw_node *node); +/** Get node user_data. The size of the memory was given in \ref pw_impl_node_new */ +void * pw_impl_node_get_user_data(struct pw_impl_node *node); /** Get the context of this node */ -struct pw_context *pw_node_get_context(struct pw_node *node); +struct pw_context *pw_impl_node_get_context(struct pw_impl_node *node); /** Get the global of this node */ -struct pw_global *pw_node_get_global(struct pw_node *node); +struct pw_global *pw_impl_node_get_global(struct pw_impl_node *node); /** Get the node properties */ -const struct pw_properties *pw_node_get_properties(struct pw_node *node); +const struct pw_properties *pw_impl_node_get_properties(struct pw_impl_node *node); /** Update the node properties */ -int pw_node_update_properties(struct pw_node *node, const struct spa_dict *dict); +int pw_impl_node_update_properties(struct pw_impl_node *node, const struct spa_dict *dict); /** Set the node implementation */ -int pw_node_set_implementation(struct pw_node *node, struct spa_node *spa_node); +int pw_impl_node_set_implementation(struct pw_impl_node *node, struct spa_node *spa_node); /** Get the node implementation */ -struct spa_node *pw_node_get_implementation(struct pw_node *node); +struct spa_node *pw_impl_node_get_implementation(struct pw_impl_node *node); /** Add an event listener */ -void pw_node_add_listener(struct pw_node *node, +void pw_impl_node_add_listener(struct pw_impl_node *node, struct spa_hook *listener, - const struct pw_node_events *events, + const struct pw_impl_node_events *events, void *data); /** Iterate the ports in the given direction. The callback should return * 0 to fetch the next item, any other value stops the iteration and returns * the value. When all callbacks return 0, this function returns 0 when all * items are iterated. */ -int pw_node_for_each_port(struct pw_node *node, +int pw_impl_node_for_each_port(struct pw_impl_node *node, enum pw_direction direction, int (*callback) (void *data, struct pw_impl_port *port), void *data); -int pw_node_for_each_param(struct pw_node *node, +int pw_impl_node_for_each_param(struct pw_impl_node *node, int seq, uint32_t param_id, uint32_t index, uint32_t max, const struct spa_pod *filter, @@ -161,17 +161,17 @@ int pw_node_for_each_param(struct pw_node *node, /** Find the port with direction and port_id or NULL when not found. Passing * SPA_ID_INVALID for port_id will return any port, preferably an unlinked one. */ struct pw_impl_port * -pw_node_find_port(struct pw_node *node, enum pw_direction direction, uint32_t port_id); +pw_impl_node_find_port(struct pw_impl_node *node, enum pw_direction direction, uint32_t port_id); /** Get a free unused port_id from the node */ -uint32_t pw_node_get_free_port_id(struct pw_node *node, enum pw_direction direction); +uint32_t pw_impl_node_get_free_port_id(struct pw_impl_node *node, enum pw_direction direction); /** Set a node active. This will start negotiation with all linked active * nodes and start data transport */ -int pw_node_set_active(struct pw_node *node, bool active); +int pw_impl_node_set_active(struct pw_impl_node *node, bool active); /** Check if a node is active */ -bool pw_node_is_active(struct pw_node *node); +bool pw_impl_node_is_active(struct pw_impl_node *node); #ifdef __cplusplus } diff --git a/src/pipewire/impl-port.c b/src/pipewire/impl-port.c index bc04e2521..1ea33f203 100644 --- a/src/pipewire/impl-port.c +++ b/src/pipewire/impl-port.c @@ -69,7 +69,7 @@ static void emit_info_changed(struct pw_impl_port *port) pw_impl_port_emit_info_changed(port, &port->info); if (port->node) - pw_node_emit_port_info_changed(port->node, port, &port->info); + pw_impl_node_emit_port_info_changed(port->node, port, &port->info); if (port->global) spa_list_for_each(resource, &port->global->resource_list, link) @@ -590,7 +590,7 @@ void pw_impl_port_update_info(struct pw_impl_port *port, const struct spa_port_i } SPA_EXPORT -struct pw_node *pw_impl_port_get_node(struct pw_impl_port *port) +struct pw_impl_node *pw_impl_port_get_node(struct pw_impl_port *port) { return port->node; } @@ -627,7 +627,7 @@ static int check_param_io(void *data, int seq, uint32_t id, uint32_t index, uint32_t next, struct spa_pod *param) { struct pw_impl_port *port = data; - struct pw_node *node = port->node; + struct pw_impl_node *node = port->node; uint32_t pid, psize; if (spa_pod_parse_object(param, @@ -777,7 +777,7 @@ static const struct pw_global_events global_events = { int pw_impl_port_register(struct pw_impl_port *port, struct pw_properties *properties) { - struct pw_node *node = port->node; + struct pw_impl_node *node = port->node; const char *keys[] = { PW_KEY_OBJECT_PATH, PW_KEY_FORMAT_DSP, @@ -823,7 +823,7 @@ int pw_impl_port_register(struct pw_impl_port *port, } SPA_EXPORT -int pw_impl_port_add(struct pw_impl_port *port, struct pw_node *node) +int pw_impl_port_add(struct pw_impl_port *port, struct pw_impl_node *node) { uint32_t port_id = port->port_id; struct spa_list *ports; @@ -853,7 +853,7 @@ int pw_impl_port_add(struct pw_impl_port *port, struct pw_node *node) port->node = node; - pw_node_emit_port_init(node, port); + pw_impl_node_emit_port_init(node, port); pw_impl_port_for_each_param(port, 0, SPA_PARAM_IO, 0, 0, NULL, check_param_io, port); @@ -913,7 +913,7 @@ int pw_impl_port_add(struct pw_impl_port *port, struct pw_node *node) if (port->state <= PW_IMPL_PORT_STATE_INIT) pw_impl_port_update_state(port, PW_IMPL_PORT_STATE_CONFIGURE, NULL); - pw_node_emit_port_added(node, port); + pw_impl_node_emit_port_added(node, port); emit_info_changed(port); return 0; @@ -942,7 +942,7 @@ static int do_remove_port(struct spa_loop *loop, static void pw_impl_port_remove(struct pw_impl_port *port) { - struct pw_node *node = port->node; + struct pw_impl_node *node = port->node; int res; if (node == NULL) @@ -969,7 +969,7 @@ static void pw_impl_port_remove(struct pw_impl_port *port) pw_impl_port_set_mix(port, NULL, 0); spa_list_remove(&port->link); - pw_node_emit_port_removed(node, port); + pw_impl_node_emit_port_removed(node, port); port->node = NULL; } @@ -1043,7 +1043,7 @@ int pw_impl_port_for_each_param(struct pw_impl_port *port, void *data) { int res; - struct pw_node *node = port->node; + struct pw_impl_node *node = port->node; struct result_port_params_data user_data = { data, callback, seq }; struct spa_hook listener; static const struct spa_node_events node_events = { @@ -1142,7 +1142,7 @@ int pw_impl_port_set_param(struct pw_impl_port *port, uint32_t id, uint32_t flag const struct spa_pod *param) { int res; - struct pw_node *node = port->node; + struct pw_impl_node *node = port->node; pw_log_debug(NAME" %p: %d set param %d %p", port, port->state, id, param); @@ -1196,7 +1196,7 @@ static int negotiate_mixer_buffers(struct pw_impl_port *port, uint32_t flags, struct spa_buffer **buffers, uint32_t n_buffers) { int res; - struct pw_node *node = port->node; + struct pw_impl_node *node = port->node; if (SPA_FLAG_IS_SET(port->mix_flags, PW_IMPL_PORT_MIX_FLAG_MIX_ONLY)) return 0; diff --git a/src/pipewire/impl-port.h b/src/pipewire/impl-port.h index 386d29cb0..aca36ed01 100644 --- a/src/pipewire/impl-port.h +++ b/src/pipewire/impl-port.h @@ -102,7 +102,7 @@ int pw_impl_port_update_properties(struct pw_impl_port *port, const struct spa_d uint32_t pw_impl_port_get_id(struct pw_impl_port *port); /** Get the port parent node or NULL when not yet set */ -struct pw_node *pw_impl_port_get_node(struct pw_impl_port *port); +struct pw_impl_node *pw_impl_port_get_node(struct pw_impl_port *port); /** Add an event listener on the port */ void pw_impl_port_add_listener(struct pw_impl_port *port, diff --git a/src/pipewire/private.h b/src/pipewire/private.h index 0e394197d..78cd0e13a 100644 --- a/src/pipewire/private.h +++ b/src/pipewire/private.h @@ -335,7 +335,7 @@ static inline void pw_node_activation_state_reset(struct pw_node_activation_stat struct pw_node_target { struct spa_list link; - struct pw_node *node; + struct pw_impl_node *node; struct pw_node_activation *activation; int (*signal) (void *data); void *data; @@ -412,26 +412,26 @@ struct pw_node_activation { #define SEQ_READ(s) ATOMIC_LOAD(s) #define SEQ_READ_SUCCESS(s1,s2) ((s1) == (s2) && ((s2) & 1) == 0) -#define pw_node_emit(o,m,v,...) spa_hook_list_call(&o->listener_list, struct pw_node_events, m, v, ##__VA_ARGS__) -#define pw_node_emit_destroy(n) pw_node_emit(n, destroy, 0) -#define pw_node_emit_free(n) pw_node_emit(n, free, 0) -#define pw_node_emit_initialized(n) pw_node_emit(n, initialized, 0) -#define pw_node_emit_port_init(n,p) pw_node_emit(n, port_init, 0, p) -#define pw_node_emit_port_added(n,p) pw_node_emit(n, port_added, 0, p) -#define pw_node_emit_port_removed(n,p) pw_node_emit(n, port_removed, 0, p) -#define pw_node_emit_info_changed(n,i) pw_node_emit(n, info_changed, 0, i) -#define pw_node_emit_port_info_changed(n,p,i) pw_node_emit(n, port_info_changed, 0, p, i) -#define pw_node_emit_active_changed(n,a) pw_node_emit(n, active_changed, 0, a) -#define pw_node_emit_state_request(n,s) pw_node_emit(n, state_request, 0, s) -#define pw_node_emit_state_changed(n,o,s,e) pw_node_emit(n, state_changed, 0, o, s, e) -#define pw_node_emit_async_complete(n,s,r) pw_node_emit(n, async_complete, 0, s, r) -#define pw_node_emit_result(n,s,r,t,result) pw_node_emit(n, result, 0, s, r, t, result) -#define pw_node_emit_event(n,e) pw_node_emit(n, event, 0, e) -#define pw_node_emit_driver_changed(n,o,d) pw_node_emit(n, driver_changed, 0, o, d) -#define pw_node_emit_peer_added(n,p) pw_node_emit(n, peer_added, 0, p) -#define pw_node_emit_peer_removed(n,p) pw_node_emit(n, peer_removed, 0, p) +#define pw_impl_node_emit(o,m,v,...) spa_hook_list_call(&o->listener_list, struct pw_impl_node_events, m, v, ##__VA_ARGS__) +#define pw_impl_node_emit_destroy(n) pw_impl_node_emit(n, destroy, 0) +#define pw_impl_node_emit_free(n) pw_impl_node_emit(n, free, 0) +#define pw_impl_node_emit_initialized(n) pw_impl_node_emit(n, initialized, 0) +#define pw_impl_node_emit_port_init(n,p) pw_impl_node_emit(n, port_init, 0, p) +#define pw_impl_node_emit_port_added(n,p) pw_impl_node_emit(n, port_added, 0, p) +#define pw_impl_node_emit_port_removed(n,p) pw_impl_node_emit(n, port_removed, 0, p) +#define pw_impl_node_emit_info_changed(n,i) pw_impl_node_emit(n, info_changed, 0, i) +#define pw_impl_node_emit_port_info_changed(n,p,i) pw_impl_node_emit(n, port_info_changed, 0, p, i) +#define pw_impl_node_emit_active_changed(n,a) pw_impl_node_emit(n, active_changed, 0, a) +#define pw_impl_node_emit_state_request(n,s) pw_impl_node_emit(n, state_request, 0, s) +#define pw_impl_node_emit_state_changed(n,o,s,e) pw_impl_node_emit(n, state_changed, 0, o, s, e) +#define pw_impl_node_emit_async_complete(n,s,r) pw_impl_node_emit(n, async_complete, 0, s, r) +#define pw_impl_node_emit_result(n,s,r,t,result) pw_impl_node_emit(n, result, 0, s, r, t, result) +#define pw_impl_node_emit_event(n,e) pw_impl_node_emit(n, event, 0, e) +#define pw_impl_node_emit_driver_changed(n,o,d) pw_impl_node_emit(n, driver_changed, 0, o, d) +#define pw_impl_node_emit_peer_added(n,p) pw_impl_node_emit(n, peer_added, 0, p) +#define pw_impl_node_emit_peer_removed(n,p) pw_impl_node_emit(n, peer_removed, 0, p) -struct pw_node { +struct pw_impl_node { struct pw_context *context; /**< context object */ struct spa_list link; /**< link in context node_list */ struct pw_global *global; /**< global for this node */ @@ -461,7 +461,7 @@ struct pw_node { uint32_t port_user_data_size; /**< extra size for port user data */ struct spa_list driver_link; - struct pw_node *driver_node; + struct pw_impl_node *driver_node; struct spa_list slave_list; struct spa_list slave_link; @@ -560,7 +560,7 @@ struct pw_impl_port_implementation { struct pw_impl_port { struct spa_list link; /**< link in node port_list */ - struct pw_node *node; /**< owner node */ + struct pw_impl_node *node; /**< owner node */ struct pw_global *global; /**< global for this port */ struct spa_hook global_listener; @@ -925,7 +925,7 @@ void * pw_impl_port_get_user_data(struct pw_impl_port *port); int pw_impl_port_set_mix(struct pw_impl_port *port, struct spa_node *node, uint32_t flags); /** Add a port to a node \memberof pw_impl_port */ -int pw_impl_port_add(struct pw_impl_port *port, struct pw_node *node); +int pw_impl_port_add(struct pw_impl_port *port, struct pw_impl_node *node); int pw_impl_port_init_mix(struct pw_impl_port *port, struct pw_impl_port_mix *mix); int pw_impl_port_release_mix(struct pw_impl_port *port, struct pw_impl_port_mix *mix); @@ -982,16 +982,16 @@ int pw_impl_port_use_buffers(struct pw_impl_port *port, struct pw_impl_port_mix struct spa_buffer **buffers, uint32_t n_buffers); /** Change the state of the node */ -int pw_node_set_state(struct pw_node *node, enum pw_node_state state); +int pw_impl_node_set_state(struct pw_impl_node *node, enum pw_node_state state); -int pw_node_set_param(struct pw_node *node, +int pw_impl_node_set_param(struct pw_impl_node *node, uint32_t id, uint32_t flags, const struct spa_pod *param); -int pw_node_update_ports(struct pw_node *node); +int pw_impl_node_update_ports(struct pw_impl_node *node); -int pw_node_initialized(struct pw_node *node); +int pw_impl_node_initialized(struct pw_impl_node *node); -int pw_node_set_driver(struct pw_node *node, struct pw_node *driver); +int pw_impl_node_set_driver(struct pw_impl_node *node, struct pw_impl_node *driver); /** Prepare a link \memberof pw_impl_link * Starts the negotiation of formats and buffers on \a link */ diff --git a/src/pipewire/stream.c b/src/pipewire/stream.c index ec2af29f4..aa7ff05bd 100644 --- a/src/pipewire/stream.c +++ b/src/pipewire/stream.c @@ -96,7 +96,7 @@ struct stream { enum spa_direction direction; enum pw_stream_flags flags; - struct pw_node *node; + struct pw_impl_node *node; struct spa_node impl_node; struct spa_node_methods node_methods; @@ -979,7 +979,7 @@ static void node_event_info(void *object, const struct pw_node_info *info) switch (info->params[i].id) { case SPA_PARAM_PropInfo: case SPA_PARAM_Props: - pw_node_for_each_param(impl->node, + pw_impl_node_for_each_param(impl->node, 0, info->params[i].id, 0, UINT32_MAX, NULL, @@ -993,8 +993,8 @@ static void node_event_info(void *object, const struct pw_node_info *info) } } -static const struct pw_node_events node_events = { - PW_VERSION_NODE_EVENTS, +static const struct pw_impl_node_events node_events = { + PW_VERSION_IMPL_NODE_EVENTS, .info_changed = node_event_info, }; @@ -1238,7 +1238,7 @@ int pw_stream_update_properties(struct pw_stream *stream, const struct spa_dict return 0; if (impl->node) - res = pw_node_update_properties(impl->node, dict); + res = pw_impl_node_update_properties(impl->node, dict); return res; } @@ -1320,7 +1320,7 @@ pw_stream_connect(struct pw_stream *stream, struct stream *impl = SPA_CONTAINER_OF(stream, struct stream, this); struct pw_impl_factory *factory; struct pw_properties *props; - struct pw_node *slave; + struct pw_impl_node *slave; const char *str; uint32_t i; int res; @@ -1406,16 +1406,16 @@ pw_stream_connect(struct pw_stream *stream, pw_properties_set(props, "resample.peaks", "1"); } - slave = pw_node_new(impl->context, pw_properties_copy(props), 0); + slave = pw_impl_node_new(impl->context, pw_properties_copy(props), 0); if (slave == NULL) { res = -errno; goto error_node; } - pw_node_set_implementation(slave, &impl->impl_node); + pw_impl_node_set_implementation(slave, &impl->impl_node); if (!SPA_FLAG_IS_SET(impl->flags, PW_STREAM_FLAG_INACTIVE)) - pw_node_set_active(slave, true); + pw_impl_node_set_active(slave, true); if (impl->media_type == SPA_MEDIA_TYPE_audio && impl->media_subtype == SPA_MEDIA_SUBTYPE_raw) { @@ -1451,7 +1451,7 @@ pw_stream_connect(struct pw_stream *stream, pw_proxy_add_listener(stream->proxy, &stream->proxy_listener, &proxy_events, stream); - pw_node_add_listener(impl->node, &stream->node_listener, &node_events, stream); + pw_impl_node_add_listener(impl->node, &stream->node_listener, &node_events, stream); return 0; @@ -1481,13 +1481,13 @@ int pw_stream_disconnect(struct pw_stream *stream) impl->disconnecting = true; if (impl->node) - pw_node_set_active(impl->node, false); + pw_impl_node_set_active(impl->node, false); if (stream->proxy) pw_proxy_destroy(stream->proxy); if (impl->node) { - pw_node_destroy(impl->node); + pw_impl_node_destroy(impl->node); impl->node = NULL; } if (impl->free_proxy) { @@ -1583,7 +1583,7 @@ int pw_stream_set_control(struct pw_stream *stream, uint32_t id, uint32_t n_valu } pod = spa_pod_builder_pop(&b, &f[0]); - pw_node_set_param(impl->node, SPA_PARAM_Props, 0, pod); + pw_impl_node_set_param(impl->node, SPA_PARAM_Props, 0, pod); return 0; } @@ -1608,7 +1608,7 @@ int pw_stream_set_active(struct pw_stream *stream, bool active) struct stream *impl = SPA_CONTAINER_OF(stream, struct stream, this); pw_log_debug(NAME" %p: active:%d", stream, active); if (impl->node) - pw_node_set_active(impl->node, active); + pw_impl_node_set_active(impl->node, active); return 0; }