From 34290725043274ddc88aeb203892f3d8bb7bbecf Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 5 Sep 2008 01:30:25 +0200 Subject: introduce upper channel map definition limit PA_CHANNEL_MAP_DEF_MAX --- src/pulse/channelmap.c | 4 +++- src/pulse/channelmap.h | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/pulse/channelmap.c b/src/pulse/channelmap.c index 7a21998e..7df6d6df 100644 --- a/src/pulse/channelmap.c +++ b/src/pulse/channelmap.c @@ -198,6 +198,7 @@ pa_channel_map* pa_channel_map_init_auto(pa_channel_map *m, unsigned channels, p pa_assert(m); pa_assert(channels > 0); pa_assert(channels <= PA_CHANNELS_MAX); + pa_assert(def < PA_CHANNEL_MAP_DEF_MAX); pa_channel_map_init(m); @@ -391,7 +392,7 @@ pa_channel_map* pa_channel_map_init_auto(pa_channel_map *m, unsigned channels, p default: - return NULL; + pa_assert_not_reached(); } } @@ -401,6 +402,7 @@ pa_channel_map* pa_channel_map_init_extend(pa_channel_map *m, unsigned channels, pa_assert(m); pa_assert(channels > 0); pa_assert(channels <= PA_CHANNELS_MAX); + pa_assert(def < PA_CHANNEL_MAP_DEF_MAX); pa_channel_map_init(m); diff --git a/src/pulse/channelmap.h b/src/pulse/channelmap.h index 035f9b1a..d2dd6f8f 100644 --- a/src/pulse/channelmap.h +++ b/src/pulse/channelmap.h @@ -157,6 +157,9 @@ typedef enum pa_channel_map_def { PA_CHANNEL_MAP_OSS, /**< The default channel mapping used by OSS as defined in the OSS 4.0 API specs */ + /**< Upper limit of valid channel mapping definitions */ + PA_CHANNEL_MAP_DEF_MAX, + PA_CHANNEL_MAP_DEFAULT = PA_CHANNEL_MAP_AIFF /**< The default channel map */ } pa_channel_map_def_t; @@ -211,7 +214,7 @@ pa_channel_map *pa_channel_map_parse(pa_channel_map *map, const char *s); /** Compare two channel maps. Return 1 if both match. */ int pa_channel_map_equal(const pa_channel_map *a, const pa_channel_map *b) PA_GCC_PURE; -/** Return non-zero of the specified channel map is considered valid */ +/** Return non-zero if the specified channel map is considered valid */ int pa_channel_map_valid(const pa_channel_map *map) PA_GCC_PURE; /** Return non-zero if the specified channel map is compatible with -- cgit