[pulseaudio-discuss] [PATCH v2 1/7] card: Add variables for splitting up a profile

David Henningsson david.henningsson at canonical.com
Tue Oct 27 08:09:24 PDT 2015


It can be useful for routing modules to know if a profile consists
of an output and input part, in order to e g change output profile
while keeping the input profile unchanged.

For now filling in these fields is optional and a routing module
must be able to handle NULL in these fields.

Signed-off-by: David Henningsson <david.henningsson at canonical.com>
---
 src/pulsecore/card.c | 2 ++
 src/pulsecore/card.h | 6 ++++++
 2 files changed, 8 insertions(+)

diff --git a/src/pulsecore/card.c b/src/pulsecore/card.c
index c8b97b7..bb21d0f 100644
--- a/src/pulsecore/card.c
+++ b/src/pulsecore/card.c
@@ -52,6 +52,8 @@ pa_card_profile *pa_card_profile_new(const char *name, const char *description,
 void pa_card_profile_free(pa_card_profile *c) {
     pa_assert(c);
 
+    pa_xfree(c->input_name);
+    pa_xfree(c->output_name);
     pa_xfree(c->name);
     pa_xfree(c->description);
     pa_xfree(c);
diff --git a/src/pulsecore/card.h b/src/pulsecore/card.h
index 3e2c004..8f85000 100644
--- a/src/pulsecore/card.h
+++ b/src/pulsecore/card.h
@@ -40,6 +40,12 @@ typedef struct pa_card_profile {
     char *name;
     char *description;
 
+    /* Indication in case the profile is built from an output and an input part.
+       Can be NULL (and in case of an input- or output- only profile, the other direction
+       will be NULL). */
+    char *input_name;
+    char *output_name;
+
     unsigned priority;
     pa_available_t available; /* PA_AVAILABLE_UNKNOWN, PA_AVAILABLE_NO or PA_AVAILABLE_YES */
 
-- 
1.9.1



More information about the pulseaudio-discuss mailing list