card: Add variables for splitting up a profile

It can be useful for routing modules to know a profile's input
and output parts, 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@canonical.com>
This commit is contained in:
David Henningsson 2015-11-17 15:10:29 +01:00 committed by Tanu Kaskinen
parent a01354db00
commit b9818b016f
2 changed files with 10 additions and 0 deletions

View file

@ -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);

View file

@ -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 */