Commit 211f1e6b authored by Wim Taymans's avatar Wim Taymans
Browse files

default-nodes: handle nodes without Routes

When a node has not part of any EnumRoute, we must assume it is
available.

Fixes selection of Pro Audio nodes as default nodes.
parent ad80faaa
Pipeline #484090 passed with stages
in 4 minutes and 20 seconds
......@@ -108,6 +108,7 @@ node_has_available_routes (WpDefaultNodes * self, WpNode *node)
gint dev_id = dev_id_str ? atoi (dev_id_str) : -1;
gint cpd = cpd_str ? atoi (cpd_str) : -1;
g_autoptr (WpDevice) device = NULL;
gint found = 0;
if (dev_id == -1 || cpd == -1)
return TRUE;
......@@ -168,6 +169,7 @@ node_has_available_routes (WpDefaultNodes * self, WpNode *node)
for (; wp_iterator_next (it, &v); g_value_unset (&v)) {
gint32 *d = (gint32 *)g_value_get_pointer (&v);
if (d && *d == cpd) {
found++;
if (route_avail != SPA_PARAM_AVAILABILITY_no)
return TRUE;
}
......@@ -175,6 +177,10 @@ node_has_available_routes (WpDefaultNodes * self, WpNode *node)
}
}
}
/* The node is part of a profile without routes so we assume it
* is available. This can happen for Pro Audio profiles */
if (found == 0)
return TRUE;
return FALSE;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment