mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-01 22:58:50 -04:00
pw_node -> pw_impl_node
This commit is contained in:
parent
f62d1cb357
commit
898e870997
23 changed files with 335 additions and 335 deletions
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -33,13 +33,13 @@ extern "C" {
|
|||
|
||||
#define ADAPTER_USAGE PW_KEY_NODE_NAME"=<string> "
|
||||
|
||||
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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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 = {
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 <spa/node/node.h>
|
||||
|
|
@ -49,9 +49,9 @@ struct pw_impl_port;
|
|||
|
||||
#include <pipewire/impl.h>
|
||||
|
||||
/** 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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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 */
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue