mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-05 13:29:57 -05:00
make pa_card_new_data::active_profile a string
This commit is contained in:
parent
e8f93b125e
commit
9661cd0444
2 changed files with 26 additions and 11 deletions
|
|
@ -76,6 +76,13 @@ void pa_card_new_data_set_name(pa_card_new_data *data, const char *name) {
|
||||||
data->name = pa_xstrdup(name);
|
data->name = pa_xstrdup(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void pa_card_new_data_set_profile(pa_card_new_data *data, const char *profile) {
|
||||||
|
pa_assert(data);
|
||||||
|
|
||||||
|
pa_xfree(data->active_profile);
|
||||||
|
data->active_profile = pa_xstrdup(profile);
|
||||||
|
}
|
||||||
|
|
||||||
void pa_card_new_data_done(pa_card_new_data *data) {
|
void pa_card_new_data_done(pa_card_new_data *data) {
|
||||||
|
|
||||||
pa_assert(data);
|
pa_assert(data);
|
||||||
|
|
@ -92,6 +99,7 @@ void pa_card_new_data_done(pa_card_new_data *data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
pa_xfree(data->name);
|
pa_xfree(data->name);
|
||||||
|
pa_xfree(data->active_profile);
|
||||||
}
|
}
|
||||||
|
|
||||||
pa_card *pa_card_new(pa_core *core, pa_card_new_data *data) {
|
pa_card *pa_card_new(pa_core *core, pa_card_new_data *data) {
|
||||||
|
|
@ -126,10 +134,17 @@ pa_card *pa_card_new(pa_core *core, pa_card_new_data *data) {
|
||||||
c->sinks = pa_idxset_new(NULL, NULL);
|
c->sinks = pa_idxset_new(NULL, NULL);
|
||||||
c->sources = pa_idxset_new(NULL, NULL);
|
c->sources = pa_idxset_new(NULL, NULL);
|
||||||
|
|
||||||
|
/* As a minor optimization we just steal the list instead of
|
||||||
|
* copying it here */
|
||||||
c->profiles = data->profiles;
|
c->profiles = data->profiles;
|
||||||
data->profiles = NULL;
|
data->profiles = NULL;
|
||||||
if (!(c->active_profile = data->active_profile))
|
|
||||||
if (c->profiles) {
|
c->active_profile = NULL;
|
||||||
|
|
||||||
|
if (data->active_profile && c->profiles)
|
||||||
|
c->active_profile = pa_hashmap_get(c->profiles, data->active_profile);
|
||||||
|
|
||||||
|
if (!c->active_profile && c->profiles) {
|
||||||
void *state = NULL;
|
void *state = NULL;
|
||||||
pa_card_profile *p;
|
pa_card_profile *p;
|
||||||
|
|
||||||
|
|
@ -140,7 +155,6 @@ pa_card *pa_card_new(pa_core *core, pa_card_new_data *data) {
|
||||||
c->active_profile = p;
|
c->active_profile = p;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
data->active_profile = NULL;
|
|
||||||
|
|
||||||
c->userdata = NULL;
|
c->userdata = NULL;
|
||||||
c->set_profile = NULL;
|
c->set_profile = NULL;
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@ typedef struct pa_card_new_data {
|
||||||
pa_module *module;
|
pa_module *module;
|
||||||
|
|
||||||
pa_hashmap *profiles;
|
pa_hashmap *profiles;
|
||||||
pa_card_profile *active_profile;
|
char *active_profile;
|
||||||
|
|
||||||
pa_bool_t namereg_fail:1;
|
pa_bool_t namereg_fail:1;
|
||||||
} pa_card_new_data;
|
} pa_card_new_data;
|
||||||
|
|
@ -87,6 +87,7 @@ void pa_card_profile_free(pa_card_profile *c);
|
||||||
|
|
||||||
pa_card_new_data *pa_card_new_data_init(pa_card_new_data *data);
|
pa_card_new_data *pa_card_new_data_init(pa_card_new_data *data);
|
||||||
void pa_card_new_data_set_name(pa_card_new_data *data, const char *name);
|
void pa_card_new_data_set_name(pa_card_new_data *data, const char *name);
|
||||||
|
void pa_card_new_data_set_profile(pa_card_new_data *data, const char *profile);
|
||||||
void pa_card_new_data_done(pa_card_new_data *data);
|
void pa_card_new_data_done(pa_card_new_data *data);
|
||||||
|
|
||||||
pa_card *pa_card_new(pa_core *c, pa_card_new_data *data);
|
pa_card *pa_card_new(pa_core *c, pa_card_new_data *data);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue