]> code.delx.au - pulseaudio/commitdiff
module-switch-on-port-available: Use port->card pointer
authorDavid Henningsson <david.henningsson@canonical.com>
Fri, 28 Mar 2014 10:55:24 +0000 (11:55 +0100)
committerDavid Henningsson <david.henningsson@canonical.com>
Fri, 4 Apr 2014 05:24:10 +0000 (07:24 +0200)
We now have a port->card pointer, we can use it instead of iterating
over cards to find the correct one.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
src/modules/module-switch-on-port-available.c

index c560306bef527f548685086ceb93c583178c609b..d8cb82b6c31896e7efcf1ea52fc18b13f42738b3 100644 (file)
@@ -153,7 +153,6 @@ static void find_sink_and_source(pa_card *card, pa_device_port *port, pa_sink **
 }
 
 static pa_hook_result_t port_available_hook_callback(pa_core *c, pa_device_port *port, void* userdata) {
-    uint32_t state;
     pa_card* card;
     pa_sink *sink;
     pa_source *source;
@@ -162,14 +161,10 @@ static pa_hook_result_t port_available_hook_callback(pa_core *c, pa_device_port
     if (port->available == PA_AVAILABLE_UNKNOWN)
         return PA_HOOK_OK;
 
-    pa_log_debug("finding port %s", port->name);
-
-    PA_IDXSET_FOREACH(card, c->cards, state)
-        if (port == pa_hashmap_get(card->ports, port->name))
-            break;
+    card = port->card;
 
     if (!card) {
-        pa_log_warn("Did not find port %s in array of cards", port->name);
+        pa_log_warn("Port %s does not have a card", port->name);
         return PA_HOOK_OK;
     }