summaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-02-13 22:13:44 +0000
committerLennart Poettering <lennart@poettering.net>2008-02-13 22:13:44 +0000
commit86b9ef8c961bed9d3a65f044741bb423c26d8005 (patch)
tree4f588c2d88c235374ba5e3766f7e3350394f2acd /src/modules
parenta3e820fca7e264037adf525a8af8894190f25ec7 (diff)
deal with a possibly failing pa_channel_map_init_auto() correctly
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2105 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/alsa-util.c4
-rw-r--r--src/modules/module-combine.c4
-rw-r--r--src/modules/module-jack-sink.c1
-rw-r--r--src/modules/module-jack-source.c1
-rw-r--r--src/modules/module-zeroconf-discover.c5
5 files changed, 12 insertions, 3 deletions
diff --git a/src/modules/alsa-util.c b/src/modules/alsa-util.c
index 40170e9c..6afec3bc 100644
--- a/src/modules/alsa-util.c
+++ b/src/modules/alsa-util.c
@@ -615,8 +615,10 @@ snd_pcm_t *pa_alsa_open_by_device_string(
*dev = d;
- if (ss->channels != map->channels)
+ if (ss->channels != map->channels) {
+ pa_assert_se(pa_channel_map_init_auto(map, ss->channels, PA_CHANNEL_MAP_AUX));
pa_channel_map_init_auto(map, ss->channels, PA_CHANNEL_MAP_ALSA);
+ }
return pcm_handle;
}
diff --git a/src/modules/module-combine.c b/src/modules/module-combine.c
index dd81653c..996cd4f6 100644
--- a/src/modules/module-combine.c
+++ b/src/modules/module-combine.c
@@ -988,8 +988,10 @@ int pa__init(pa_module*m) {
if (master_sink && ss.channels == master_sink->sample_spec.channels)
map = master_sink->channel_map;
- else
+ else {
+ pa_assert_se(pa_channel_map_init_auto(&map, ss.channels, PA_CHANNEL_MAP_AUX));
pa_channel_map_init_auto(&map, ss.channels, PA_CHANNEL_MAP_DEFAULT);
+ }
if ((pa_modargs_get_channel_map(ma, NULL, &map) < 0)) {
pa_log("Invalid channel map.");
diff --git a/src/modules/module-jack-sink.c b/src/modules/module-jack-sink.c
index 46e128c9..a42aa9ef 100644
--- a/src/modules/module-jack-sink.c
+++ b/src/modules/module-jack-sink.c
@@ -333,6 +333,7 @@ int pa__init(pa_module*m) {
goto fail;
}
+ pa_assert_se(pa_channel_map_init_auto(&map, channels, PA_CHANNEL_MAP_AUX));
pa_channel_map_init_auto(&map, channels, PA_CHANNEL_MAP_ALSA);
if (pa_modargs_get_channel_map(ma, NULL, &map) < 0 || map.channels != channels) {
pa_log("Failed to parse channel_map= argument.");
diff --git a/src/modules/module-jack-source.c b/src/modules/module-jack-source.c
index f81c719a..4ee08bf1 100644
--- a/src/modules/module-jack-source.c
+++ b/src/modules/module-jack-source.c
@@ -304,6 +304,7 @@ int pa__init(pa_module*m) {
goto fail;
}
+ pa_assert_se(pa_channel_map_init_auto(&map, channels, PA_CHANNEL_MAP_AUX));
pa_channel_map_init_auto(&map, channels, PA_CHANNEL_MAP_ALSA);
if (pa_modargs_get_channel_map(ma, NULL, &map) < 0 || map.channels != channels) {
pa_log("failed to parse channel_map= argument.");
diff --git a/src/modules/module-zeroconf-discover.c b/src/modules/module-zeroconf-discover.c
index 061560c8..4e76f448 100644
--- a/src/modules/module-zeroconf-discover.c
+++ b/src/modules/module-zeroconf-discover.c
@@ -164,6 +164,7 @@ static void resolver_cb(
pa_module *m;
ss = u->core->default_sample_spec;
+ pa_assert_se(pa_channel_map_init_auto(&cm, ss.channels, PA_CHANNEL_MAP_AUX));
pa_channel_map_init_auto(&cm, ss.channels, PA_CHANNEL_MAP_DEFAULT);
for (l = txt; l; l = l->next) {
@@ -189,8 +190,10 @@ static void resolver_cb(
avahi_free(value);
}
- if (!channel_map_set && cm.channels != ss.channels)
+ if (!channel_map_set && cm.channels != ss.channels) {
+ pa_assert_se(pa_channel_map_init_auto(&cm, ss.channels, PA_CHANNEL_MAP_AUX));
pa_channel_map_init_auto(&cm, ss.channels, PA_CHANNEL_MAP_DEFAULT);
+ }
if (!pa_sample_spec_valid(&ss)) {
pa_log("Service '%s' contains an invalid sample specification.", name);