[pulseaudio-discuss] [PATCH] Add a property list to ports.

David Henningsson david.henningsson at canonical.com
Fri Dec 2 04:34:54 PST 2011


There not used for anything yet, but hopefully soon they'll be.

Signed-off-by: David Henningsson <david.henningsson at canonical.com>
---
 src/pulsecore/cli-text.c    |    6 +++++-
 src/pulsecore/device-port.c |    3 +++
 src/pulsecore/device-port.h |    1 +
 3 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/src/pulsecore/cli-text.c b/src/pulsecore/cli-text.c
index 2253635..4823924 100644
--- a/src/pulsecore/cli-text.c
+++ b/src/pulsecore/cli-text.c
@@ -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) {
diff --git a/src/pulsecore/device-port.c b/src/pulsecore/device-port.c
index 7988649..30fb025 100644
--- a/src/pulsecore/device-port.c
+++ b/src/pulsecore/device-port.c
@@ -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;
 }
diff --git a/src/pulsecore/device-port.h b/src/pulsecore/device-port.h
index ee4fc3e..4e90a62 100644
--- a/src/pulsecore/device-port.h
+++ b/src/pulsecore/device-port.h
@@ -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;
-- 
1.7.5.4



More information about the pulseaudio-discuss mailing list