diff --git a/src/pulsecore/card.c b/src/pulsecore/card.c index c8b97b746..bb21d0f14 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 3e2c00423..a72c8c254 100644 --- a/src/pulsecore/card.h +++ b/src/pulsecore/card.h @@ -40,6 +40,14 @@ typedef struct pa_card_profile { char *name; char *description; + /* Identifiers for the profile's input and output parts, i e, if two different profiles + have the same input_name string, they have the same source(s). + Same for output_name and sink(s). + 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 */