From cb3543e9b42897ee57ddc0ff562b11762793c54f Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 20 Jul 2021 09:52:57 +0200 Subject: [PATCH] media-session: don't move nodes to same link-group Refuse to move a node to a new target when they belong to the same link-group to avoid loops. Fixes #1376 --- src/examples/media-session/policy-node.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/examples/media-session/policy-node.c b/src/examples/media-session/policy-node.c index 5d0cbd4bf..1f6ba005f 100644 --- a/src/examples/media-session/policy-node.c +++ b/src/examples/media-session/policy-node.c @@ -1052,7 +1052,12 @@ static int handle_move(struct impl *impl, struct node *src_node, struct node *ds if ((str = spa_dict_lookup(info->props, PW_KEY_NODE_DONT_RECONNECT)) != NULL && pw_properties_parse_bool(str)) { - pw_log_warn("can't reconnect node %d to %d", src_node->id, + pw_log_warn("can't reconnect node %d to %d: dont-reconnect flag set", + src_node->id, dst_node->id); + return -EPERM; + } + if (!can_link(impl, src_node, dst_node)) { + pw_log_debug("can't link node %d to %d: same link-group", src_node->id, dst_node->id); return -EPERM; }