From 50870aac57f0fdc5d1f4638b2f4aa705681cbf3f Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 18 Jun 2024 09:49:01 +0200 Subject: [PATCH] impl-node: move node_peer functions to impl-node --- src/pipewire/impl-link.c | 38 -------------------------------------- src/pipewire/impl-node.c | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/pipewire/impl-link.c b/src/pipewire/impl-link.c index a6426f833..39e9bd17d 100644 --- a/src/pipewire/impl-link.c +++ b/src/pipewire/impl-link.c @@ -52,44 +52,6 @@ struct impl { /** \endcond */ -SPA_EXPORT -struct pw_node_peer *pw_node_peer_ref(struct pw_impl_node *onode, struct pw_impl_node *inode) -{ - struct pw_node_peer *peer; - - spa_list_for_each(peer, &onode->peer_list, link) { - if (peer->target.id == inode->info.id) { - pw_log_debug("exiting peer %p from %p to %p", peer, onode, inode); - peer->ref++; - return peer; - } - } - peer = calloc(1, sizeof(*peer)); - if (peer == NULL) - return NULL; - - peer->ref = 1; - peer->output = onode; - copy_target(&peer->target, &inode->rt.target); - - spa_list_append(&onode->peer_list, &peer->link); - pw_log_debug("new peer %p from %p to %p", peer, onode, inode); - pw_impl_node_add_target(onode, &peer->target); - - return peer; -} - -SPA_EXPORT -void pw_node_peer_unref(struct pw_node_peer *peer) -{ - if (peer == NULL || --peer->ref > 0) - return; - spa_list_remove(&peer->link); - pw_log_debug("remove peer %p from %p to %p", peer, peer->output, peer->target.node); - pw_impl_node_remove_target(peer->output, &peer->target); - free(peer); -} - static void info_changed(struct pw_impl_link *link) { struct pw_resource *resource; diff --git a/src/pipewire/impl-node.c b/src/pipewire/impl-node.c index 68daebaef..bf660999b 100644 --- a/src/pipewire/impl-node.c +++ b/src/pipewire/impl-node.c @@ -70,6 +70,44 @@ struct resource_data { struct spa_hook listener; }; +SPA_EXPORT +struct pw_node_peer *pw_node_peer_ref(struct pw_impl_node *onode, struct pw_impl_node *inode) +{ + struct pw_node_peer *peer; + + spa_list_for_each(peer, &onode->peer_list, link) { + if (peer->target.id == inode->info.id) { + pw_log_debug("exiting peer %p from %p to %p", peer, onode, inode); + peer->ref++; + return peer; + } + } + peer = calloc(1, sizeof(*peer)); + if (peer == NULL) + return NULL; + + peer->ref = 1; + peer->output = onode; + copy_target(&peer->target, &inode->rt.target); + + spa_list_append(&onode->peer_list, &peer->link); + pw_log_debug("new peer %p from %p to %p", peer, onode, inode); + pw_impl_node_add_target(onode, &peer->target); + + return peer; +} + +SPA_EXPORT +void pw_node_peer_unref(struct pw_node_peer *peer) +{ + if (peer == NULL || --peer->ref > 0) + return; + spa_list_remove(&peer->link); + pw_log_debug("remove peer %p from %p to %p", peer, peer->output, peer->target.node); + pw_impl_node_remove_target(peer->output, &peer->target); + free(peer); +} + static inline void activate_target(struct pw_impl_node *node, struct pw_node_target *t) { struct pw_node_activation_state *state = &t->activation->state[0];