From 04f3044f1c20a9da0862bbd2d30d0741fe7999ba Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 13 Apr 2018 20:02:35 +0200 Subject: [PATCH] client-node: implement add/remove port --- src/modules/module-client-node/client-node.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/modules/module-client-node/client-node.c b/src/modules/module-client-node/client-node.c index 4d7036389..f01b7ac55 100644 --- a/src/modules/module-client-node/client-node.c +++ b/src/modules/module-client-node/client-node.c @@ -518,13 +518,16 @@ impl_node_add_port(struct spa_node *node, enum spa_direction direction, uint32_t this = SPA_CONTAINER_OF(node, struct node, node); + port = GET_PORT(this, direction, port_id); + if (!CHECK_FREE_PORT(this, direction, port_id)) return -EINVAL; - port = GET_PORT(this, direction, port_id); - clear_port(this, port, direction, port_id); + pw_client_node_resource_add_port(this->resource, + this->seq, + direction, port_id); - return 0; + return SPA_RESULT_RETURN_ASYNC(this->seq++); } static int @@ -540,9 +543,11 @@ impl_node_remove_port(struct spa_node *node, enum spa_direction direction, uint3 if (!CHECK_PORT(this, direction, port_id)) return -EINVAL; - do_uninit_port(this, direction, port_id); + pw_client_node_resource_remove_port(this->resource, + this->seq, + direction, port_id); - return 0; + return SPA_RESULT_RETURN_ASYNC(this->seq++); } static int