]> code.delx.au - pulseaudio/blobdiff - src/pulse/channelmap.c
add a lot of validity checking
[pulseaudio] / src / pulse / channelmap.c
index 43e5f83d800cd1e280d5c3fde90b424b2f9344e6..983b8977ca5bf32bddc516851aa8a012106102b3 100644 (file)
@@ -448,6 +448,9 @@ int pa_channel_map_equal(const pa_channel_map *a, const pa_channel_map *b) {
     pa_assert(a);
     pa_assert(b);
 
+    pa_return_val_if_fail(pa_channel_map_valid(a), 0);
+    pa_return_val_if_fail(pa_channel_map_valid(b), 0);
+
     if (a->channels != b->channels)
         return 0;
 
@@ -617,11 +620,8 @@ int pa_channel_map_compatible(const pa_channel_map *map, const pa_sample_spec *s
     pa_assert(map);
     pa_assert(ss);
 
-    if (!pa_channel_map_valid(map))
-        return 0;
-
-    if (!pa_sample_spec_valid(ss))
-        return 0;
+    pa_return_val_if_fail(pa_channel_map_valid(map), 0);
+    pa_return_val_if_fail(pa_sample_spec_valid(ss), 0);
 
     return map->channels == ss->channels;
 }
@@ -633,6 +633,9 @@ int pa_channel_map_superset(const pa_channel_map *a, const pa_channel_map *b) {
     pa_assert(a);
     pa_assert(b);
 
+    pa_return_val_if_fail(pa_channel_map_valid(a), 0);
+    pa_return_val_if_fail(pa_channel_map_valid(b), 0);
+
     memset(in_a, 0, sizeof(in_a));
 
     for (i = 0; i < a->channels; i++)
@@ -651,6 +654,8 @@ int pa_channel_map_can_balance(const pa_channel_map *map) {
 
     pa_assert(map);
 
+    pa_return_val_if_fail(pa_channel_map_valid(map), 0);
+
     for (c = 0; c < map->channels; c++) {
 
         switch (map->map[c]) {
@@ -687,6 +692,10 @@ int pa_channel_map_can_fade(const pa_channel_map *map) {
     unsigned c;
     pa_bool_t front = FALSE, rear = FALSE;
 
+    pa_assert(map);
+
+    pa_return_val_if_fail(pa_channel_map_valid(map), 0);
+
     for (c = 0; c < map->channels; c++) {
 
         switch (map->map[c]) {
@@ -727,6 +736,8 @@ const char* pa_channel_map_to_name(const pa_channel_map *map) {
 
     pa_assert(map);
 
+    pa_return_val_if_fail(pa_channel_map_valid(map), NULL);
+
     memset(in_map, 0, sizeof(in_map));
 
     for (c = 0; c < map->channels; c++)
@@ -779,6 +790,8 @@ const char* pa_channel_map_to_pretty_name(const pa_channel_map *map) {
 
     pa_assert(map);
 
+    pa_return_val_if_fail(pa_channel_map_valid(map), NULL);
+
     memset(in_map, 0, sizeof(in_map));
 
     for (c = 0; c < map->channels; c++)