]> code.delx.au - pulseaudio/commitdiff
channelmap: add pa_channel_map_has_position()
authorLennart Poettering <lennart@poettering.net>
Fri, 8 May 2009 20:45:24 +0000 (22:45 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 8 May 2009 20:49:47 +0000 (22:49 +0200)
src/pulse/channelmap.c
src/pulse/channelmap.h

index ce7dadc977639a2a6f9e6770d72f8141068194d1..fe14df24b488c974f032bdb1fb717418cfc34f03 100644 (file)
@@ -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;
+}
index d4db45b01ecc86c241d02ed7bf6697ae4026aca7..a2925c1e2b020811e00b3ee46683f7d60c5c34d7 100644 (file)
@@ -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