]> code.delx.au - pulseaudio/commitdiff
device-port: Add a property list to ports.
authorDavid Henningsson <david.henningsson@canonical.com>
Fri, 2 Dec 2011 12:34:54 +0000 (13:34 +0100)
committerTanu Kaskinen <tanuk@iki.fi>
Fri, 2 Dec 2011 16:41:57 +0000 (18:41 +0200)
They're not used for anything yet, but hopefully soon they'll be.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
src/pulsecore/cli-text.c
src/pulsecore/device-port.c
src/pulsecore/device-port.h

index 2253635997ce3ff81b990dc95e4727eb7ebf717b..48239242839de79d181d7bcb6346c799a3a9ce8c 100644 (file)
@@ -124,9 +124,13 @@ static void append_port_list(pa_strbuf *s, pa_hashmap *ports)
         return;
 
     pa_strbuf_puts(s, "\tports:\n");
-    PA_HASHMAP_FOREACH(p, ports, state)
+    PA_HASHMAP_FOREACH(p, ports, state) {
+        char *t = pa_proplist_to_string_sep(p->proplist, "\n\t\t\t\t");
         pa_strbuf_printf(s, "\t\t%s: %s (priority %u, available: %s)\n",
             p->name, p->description, p->priority, port_available_to_string(p->available));
+        pa_strbuf_printf(s, "\t\t\tproperties:\n\t\t\t\t%s\n", t);
+        pa_xfree(t);
+    }
 }
 
 char *pa_card_list_to_string(pa_core *c) {
index 7988649b4ad8ee6c9c23d864feaa436e3ec9e199..30fb02529ef26be9961c36321f110e9061c96f17 100644 (file)
@@ -70,6 +70,8 @@ static void device_port_free(pa_object *o) {
     pa_assert(p);
     pa_assert(pa_device_port_refcnt(p) == 0);
 
+    if (p->proplist)
+        pa_proplist_free(p->proplist);
     if (p->profiles)
         pa_hashmap_free(p->profiles, NULL, NULL);
     pa_xfree(p->name);
@@ -94,6 +96,7 @@ pa_device_port *pa_device_port_new(pa_core *c, const char *name, const char *des
     p->profiles = NULL;
     p->is_input = FALSE;
     p->is_output = FALSE;
+    p->proplist = pa_proplist_new();
 
     return p;
 }
index ee4fc3ee234ebbcc67f11815033364c102553e93..4e90a6245e33f81c23577104e6199fade1624fd7 100644 (file)
@@ -47,6 +47,7 @@ struct pa_device_port {
     unsigned priority;
     pa_port_available_t available;         /* PA_PORT_AVAILABLE_UNKNOWN, PA_PORT_AVAILABLE_NO or PA_PORT_AVAILABLE_YES */
 
+    pa_proplist *proplist;
     pa_hashmap *profiles; /* Can be NULL. Does not own the profiles */
     pa_bool_t is_input:1;
     pa_bool_t is_output:1;