diff options
author | David Henningsson <david.henningsson@canonical.com> | 2015-11-17 15:10:31 +0100 |
---|---|---|
committer | Tanu Kaskinen <tanuk@iki.fi> | 2015-11-22 04:59:23 +0200 |
commit | b1d9b4f62c2f132292efaba862e8490114882ad2 (patch) | |
tree | b7f37251d5f05406ba64a262312f4a4c4c3716aa | |
parent | 2a71fd7597dd76eb6abab867cd3762429792f680 (diff) | |
download | pulseaudio-b1d9b4f62c2f132292efaba862e8490114882ad2.tar.gz |
device-port: Add preferred_profile field to pa_device_port
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
-rw-r--r-- | src/pulsecore/device-port.c | 11 | ||||
-rw-r--r-- | src/pulsecore/device-port.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/pulsecore/device-port.c b/src/pulsecore/device-port.c index 906ab1f7d..5807d3efa 100644 --- a/src/pulsecore/device-port.c +++ b/src/pulsecore/device-port.c @@ -21,6 +21,7 @@ #include "device-port.h" #include <pulsecore/card.h> +#include <pulsecore/core-util.h> PA_DEFINE_PUBLIC_CLASS(pa_device_port, pa_object); @@ -65,6 +66,15 @@ void pa_device_port_new_data_done(pa_device_port_new_data *data) { pa_xfree(data->description); } +void pa_device_port_set_preferred_profile(pa_device_port *p, const char *new_pp) { + pa_assert(p); + + if (!pa_safe_streq(p->preferred_profile, new_pp)) { + pa_xfree(p->preferred_profile); + p->preferred_profile = pa_xstrdup(new_pp); + } +} + void pa_device_port_set_available(pa_device_port *p, pa_available_t status) { pa_assert(p); @@ -100,6 +110,7 @@ static void device_port_free(pa_object *o) { if (p->profiles) pa_hashmap_free(p->profiles); + pa_xfree(p->preferred_profile); pa_xfree(p->name); pa_xfree(p->description); pa_xfree(p); diff --git a/src/pulsecore/device-port.h b/src/pulsecore/device-port.h index f35d07cc4..e3224fd48 100644 --- a/src/pulsecore/device-port.h +++ b/src/pulsecore/device-port.h @@ -43,6 +43,7 @@ struct pa_device_port { char *name; char *description; + char *preferred_profile; unsigned priority; pa_available_t available; /* PA_AVAILABLE_UNKNOWN, PA_AVAILABLE_NO or PA_AVAILABLE_YES */ @@ -80,6 +81,7 @@ pa_device_port *pa_device_port_new(pa_core *c, pa_device_port_new_data *data, si void pa_device_port_set_available(pa_device_port *p, pa_available_t available); void pa_device_port_set_latency_offset(pa_device_port *p, int64_t offset); +void pa_device_port_set_preferred_profile(pa_device_port *p, const char *new_pp); pa_device_port *pa_device_port_find_best(pa_hashmap *ports); |