summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Henningsson <david.henningsson@canonical.com>2011-10-05 11:15:53 +0200
committerArun Raghavan <arun.raghavan@collabora.co.uk>2011-10-05 20:58:14 +0530
commit60811ec15d66d0972b0cceb18a0ce03f6fdb160e (patch)
tree163a5101e8d8abaf4d2a83616c7c0365ac3123a9
parent58585db8084675b6e1999b7ad5b0d89d98f71db8 (diff)
source-output: Do not use unset channel map in pa_source_output_new
This problem was found when tracing down a crash coming from the esound protocol, which does not set a channel map. BugLink: http://bugs.launchpad.net/bugs/864071 Signed-off-by: David Henningsson <david.henningsson@canonical.com> N.B.: As Colin notes, this is because commit 117c7145 was incomplete ("format: Fix channel map handling")
-rw-r--r--src/pulsecore/source-output.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c
index ea0e7601a..f6ad009a9 100644
--- a/src/pulsecore/source-output.c
+++ b/src/pulsecore/source-output.c
@@ -243,7 +243,8 @@ int pa_source_output_new(
* to using the sample spec and channel map after all decisions w.r.t.
* routing are complete. */
pa_idxset *tmp = pa_idxset_new(NULL, NULL);
- pa_format_info *f = pa_format_info_from_sample_spec(&data->sample_spec, &data->channel_map);
+ pa_format_info *f = pa_format_info_from_sample_spec(&data->sample_spec,
+ data->channel_map_is_set ? &data->channel_map : NULL);
pa_idxset_put(tmp, f, NULL);
pa_source_output_new_data_set_formats(data, tmp);
}