raop: Allow channel map module argument

This commit is contained in:
RODRIGUEZ Christophe 2019-12-20 19:49:09 +00:00 committed by Georg Chini
parent c922e2c5b2
commit 6f48bc9508
2 changed files with 7 additions and 2 deletions

View file

@ -58,6 +58,7 @@ static const char* const valid_modargs[] = {
"format", "format",
"rate", "rate",
"channels", "channels",
"channel_map",
"username", "username",
"password", "password",
"latency_msec", "latency_msec",

View file

@ -554,6 +554,7 @@ static pa_card *raop_create_card(pa_module *m, pa_device_port *port, pa_card_pro
pa_sink* pa_raop_sink_new(pa_module *m, pa_modargs *ma, const char *driver) { pa_sink* pa_raop_sink_new(pa_module *m, pa_modargs *ma, const char *driver) {
struct userdata *u = NULL; struct userdata *u = NULL;
pa_sample_spec ss; pa_sample_spec ss;
pa_channel_map map;
char *thread_name = NULL; char *thread_name = NULL;
const char *server, *protocol, *encryption, *codec; const char *server, *protocol, *encryption, *codec;
const char /* *username, */ *password; const char /* *username, */ *password;
@ -567,8 +568,10 @@ pa_sink* pa_raop_sink_new(pa_module *m, pa_modargs *ma, const char *driver) {
pa_assert(ma); pa_assert(ma);
ss = m->core->default_sample_spec; ss = m->core->default_sample_spec;
if (pa_modargs_get_sample_spec(ma, &ss) < 0) { map = m->core->default_channel_map;
pa_log("Failed to parse sample specification");
if (pa_modargs_get_sample_spec_and_channel_map(ma, &ss, &map, PA_CHANNEL_MAP_DEFAULT) < 0) {
pa_log("Invalid sample format specification or channel map");
goto fail; goto fail;
} }
@ -668,6 +671,7 @@ pa_sink* pa_raop_sink_new(pa_module *m, pa_modargs *ma, const char *driver) {
} }
pa_sink_new_data_set_sample_spec(&data, &ss); pa_sink_new_data_set_sample_spec(&data, &ss);
pa_sink_new_data_set_channel_map(&data, &map);
pa_proplist_sets(data.proplist, PA_PROP_DEVICE_STRING, server); pa_proplist_sets(data.proplist, PA_PROP_DEVICE_STRING, server);
pa_proplist_sets(data.proplist, PA_PROP_DEVICE_INTENDED_ROLES, "music"); pa_proplist_sets(data.proplist, PA_PROP_DEVICE_INTENDED_ROLES, "music");