mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
introduce default channel map in addition to the default sample spec
This commit is contained in:
parent
27bfa607b9
commit
4505bc9cc6
24 changed files with 180 additions and 147 deletions
|
|
@ -274,11 +274,15 @@ int pa_modargs_get_sample_spec(pa_modargs *ma, pa_sample_spec *rss) {
|
|||
pa_assert(rss);
|
||||
|
||||
ss = *rss;
|
||||
if ((pa_modargs_get_value_u32(ma, "rate", &ss.rate)) < 0)
|
||||
if ((pa_modargs_get_value_u32(ma, "rate", &ss.rate)) < 0 ||
|
||||
ss.rate <= 0 ||
|
||||
ss.rate > PA_RATE_MAX)
|
||||
return -1;
|
||||
|
||||
channels = ss.channels;
|
||||
if ((pa_modargs_get_value_u32(ma, "channels", &channels)) < 0)
|
||||
if ((pa_modargs_get_value_u32(ma, "channels", &channels)) < 0 ||
|
||||
channels <= 0 ||
|
||||
channels >= PA_CHANNELS_MAX)
|
||||
return -1;
|
||||
ss.channels = (uint8_t) channels;
|
||||
|
||||
|
|
@ -314,7 +318,12 @@ int pa_modargs_get_channel_map(pa_modargs *ma, const char *name, pa_channel_map
|
|||
return 0;
|
||||
}
|
||||
|
||||
int pa_modargs_get_sample_spec_and_channel_map(pa_modargs *ma, pa_sample_spec *rss, pa_channel_map *rmap, pa_channel_map_def_t def) {
|
||||
int pa_modargs_get_sample_spec_and_channel_map(
|
||||
pa_modargs *ma,
|
||||
pa_sample_spec *rss,
|
||||
pa_channel_map *rmap,
|
||||
pa_channel_map_def_t def) {
|
||||
|
||||
pa_sample_spec ss;
|
||||
pa_channel_map map;
|
||||
|
||||
|
|
@ -327,7 +336,10 @@ int pa_modargs_get_sample_spec_and_channel_map(pa_modargs *ma, pa_sample_spec *r
|
|||
if (pa_modargs_get_sample_spec(ma, &ss) < 0)
|
||||
return -1;
|
||||
|
||||
pa_channel_map_init_extend(&map, ss.channels, def);
|
||||
map = *rmap;
|
||||
|
||||
if (ss.channels != map.channels)
|
||||
pa_channel_map_init_extend(&map, ss.channels, def);
|
||||
|
||||
if (pa_modargs_get_channel_map(ma, NULL, &map) < 0)
|
||||
return -1;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue