diff --git a/src/examples/media-session/policy-node.c b/src/examples/media-session/policy-node.c index e273434fa..8953c0f80 100644 --- a/src/examples/media-session/policy-node.c +++ b/src/examples/media-session/policy-node.c @@ -769,10 +769,6 @@ static int find_node(void *data, struct node *node) pw_log_debug(".. connecting link-group %s", find->link_group); return 0; } - if (device != NULL && !have_available_route(node, device)) { - pw_log_debug(".. no available routes"); - return 0; - } plugged = node->plugged; priority = node->priority; @@ -799,6 +795,10 @@ static int find_node(void *data, struct node *node) if (is_default) priority += 10000; } + if (device != NULL && !is_default && !have_available_route(node, device)) { + pw_log_debug(".. no available routes"); + return 0; + } if ((find->capture_sink && node->direction != PW_DIRECTION_INPUT) || (!find->capture_sink && !is_default && node->direction == find->direction)) {