diff options
author | Lennart Poettering <lennart@poettering.net> | 2006-05-13 20:29:32 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2006-05-13 20:29:32 +0000 |
commit | b6812029ba32002aea1576339571eafde62f124a (patch) | |
tree | ca379b62a3c31bc8ad49b68291b2bf4b8963f52d /src/modules/module-alsa-source.c | |
parent | afdec0532fc1fde7d53bce689d8da0b98dc04d3a (diff) |
use default alsa channel map for alsa devices
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@851 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/modules/module-alsa-source.c')
-rw-r--r-- | src/modules/module-alsa-source.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/modules/module-alsa-source.c b/src/modules/module-alsa-source.c index 84ae992b..ad52271c 100644 --- a/src/modules/module-alsa-source.c +++ b/src/modules/module-alsa-source.c @@ -312,10 +312,22 @@ int pa__init(pa_core *c, pa_module*m) { } ss = c->default_sample_spec; - if (pa_modargs_get_sample_spec_and_channel_map(ma, &ss, &map) < 0) { + if (pa_modargs_get_sample_spec(ma, &ss) < 0) { pa_log(__FILE__": failed to parse sample specification"); goto fail; } + + pa_alsa_channel_map_init_auto(&map, ss.channels); + if ((pa_modargs_get_channel_map(ma, &map) < 0)) { + pa_log(__FILE__": invalid channel map."); + goto fail; + } + + if (ss.channels != map.channels) { + pa_log(__FILE__": channel map and sample specification don't match."); + goto fail; + } + frame_size = pa_frame_size(&ss); periods = 12; |