pa_hook_slot *source_new_slot;
};
-static pa_device_port* find_best_port(pa_hashmap *ports) {
- void *state;
- pa_device_port* port, *result = NULL;
-
- PA_HASHMAP_FOREACH(port, ports, state) {
- if (result == NULL ||
- result->available == PA_AVAILABLE_NO ||
- (port->available != PA_AVAILABLE_NO && port->priority > result->priority)) {
- result = port;
- }
- }
-
- return result;
-}
-
static bool profile_good_for_output(pa_card_profile *profile) {
pa_sink *sink;
uint32_t idx;
if (port->available == PA_AVAILABLE_NO) {
if (sink) {
- pa_device_port *p2 = find_best_port(sink->ports);
+ pa_device_port *p2 = pa_device_port_find_best(sink->ports);
if (p2 && p2->available != PA_AVAILABLE_NO)
pa_sink_set_port(sink, p2->name, false);
}
if (source) {
- pa_device_port *p2 = find_best_port(source->ports);
+ pa_device_port *p2 = pa_device_port_find_best(source->ports);
if (p2 && p2->available != PA_AVAILABLE_NO)
pa_source_set_port(source, p2->name, false);
if (p->available != PA_AVAILABLE_NO)
return NULL;
- pa_assert_se(p = find_best_port(ports));
+ pa_assert_se(p = pa_device_port_find_best(ports));
return p;
}