remote: add option for extra user data for proxy

When doing an export, make it possible to add extra data to the
resulting proxy for user data.
This commit is contained in:
Wim Taymans 2019-05-30 16:11:31 +02:00
parent 11393ce9dd
commit e1cbdaed0b
12 changed files with 30 additions and 21 deletions

View file

@ -1170,7 +1170,8 @@ static const struct spa_node_callbacks node_callbacks = {
.reuse_buffer = node_reuse_buffer
};
static struct pw_proxy *node_export(struct pw_remote *remote, void *object, bool do_free)
static struct pw_proxy *node_export(struct pw_remote *remote, void *object, bool do_free,
size_t user_data_size)
{
struct pw_node *node = object;
struct pw_proxy *proxy;
@ -1218,19 +1219,21 @@ static struct pw_proxy *node_export(struct pw_remote *remote, void *object, bool
do_node_init(proxy);
data->proxy = (struct pw_proxy*) pw_client_node_proxy_get_node(data->node_proxy,
PW_VERSION_NODE_PROXY, 0);
PW_VERSION_NODE_PROXY, user_data_size);
return data->proxy;
}
struct pw_proxy *pw_remote_node_export(struct pw_remote *remote,
uint32_t type, struct pw_properties *props, void *object)
uint32_t type, struct pw_properties *props, void *object,
size_t user_data_size)
{
return node_export(remote, object, false);
return node_export(remote, object, false, user_data_size);
}
struct pw_proxy *pw_remote_spa_node_export(struct pw_remote *remote,
uint32_t type, struct pw_properties *props, void *object)
uint32_t type, struct pw_properties *props, void *object,
size_t user_data_size)
{
struct pw_node *node;
@ -1242,5 +1245,5 @@ struct pw_proxy *pw_remote_spa_node_export(struct pw_remote *remote,
pw_node_register(node, NULL, NULL, NULL);
pw_node_set_active(node, true);
return node_export(remote, node, true);
return node_export(remote, node, true, user_data_size);
}