From: Lennart Poettering Date: Fri, 8 May 2009 20:45:24 +0000 (+0200) Subject: channelmap: add pa_channel_map_has_position() X-Git-Tag: submit/2.0-panda/20130828.192557~1812 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a714861cc1fa2e06c5f5509880fcbfbc334c2812;p=profile%2Fivi%2Fpulseaudio-panda.git channelmap: add pa_channel_map_has_position() --- diff --git a/src/pulse/channelmap.c b/src/pulse/channelmap.c index ce7dadc..fe14df2 100644 --- a/src/pulse/channelmap.c +++ b/src/pulse/channelmap.c @@ -839,3 +839,16 @@ const char* pa_channel_map_to_pretty_name(const pa_channel_map *map) { return NULL; } + +int pa_channel_map_has_position(const pa_channel_map *map, pa_channel_position_t p) { + unsigned c; + + pa_return_val_if_fail(pa_channel_map_valid(map), 0); + pa_return_val_if_fail(p < PA_CHANNEL_POSITION_MAX, 0); + + for (c = 0; c < map->channels; c++) + if (map->map[c] == p) + return 1; + + return 0; +} diff --git a/src/pulse/channelmap.h b/src/pulse/channelmap.h index d4db45b..a2925c1 100644 --- a/src/pulse/channelmap.h +++ b/src/pulse/channelmap.h @@ -325,6 +325,10 @@ mapping. I.e. "Stereo", "Surround 7.1" and so on. If the channel mapping is unknown NULL will be returned. \since 0.9.15 */ const char* pa_channel_map_to_pretty_name(const pa_channel_map *map) PA_GCC_PURE; +/** Returns TRUE if the specified channel position is available at + * least once in the channel map. \since 0.9.16 */ +int pa_channel_map_has_position(const pa_channel_map *map, pa_channel_position_t p) PA_GCC_PURE; + PA_C_DECL_END #endif