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