From 292b237e356371f827df7a7a0e52a7152b64bfe0 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 26 Apr 2006 15:37:13 +0000 Subject: don't allow channel positions to be specified twice in the same channelmap git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@801 fefdeb5f-60dc-0310-8127-8f9354f1896f --- src/polyp/channelmap.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/polyp/channelmap.c b/src/polyp/channelmap.c index 8d642a06..38349bfa 100644 --- a/src/polyp/channelmap.c +++ b/src/polyp/channelmap.c @@ -277,10 +277,19 @@ int pa_channel_map_valid(const pa_channel_map *map) { if (map->channels <= 0 || map->channels > PA_CHANNELS_MAX) return 0; - for (c = 0; c < map->channels; c++) + for (c = 0; c < map->channels; c++) { + unsigned k; + if (map->map[c] < 0 ||map->map[c] >= PA_CHANNEL_POSITION_MAX) return 0; + /* Don't allow positions to be specified twice */ + for (k = 0; k < c; k++) + if (map->map[k] == map->map[c]) + return 0; + + } + return 1; } -- cgit