]> code.delx.au - pulseaudio/commitdiff
add new API function pa_cvolume_max()
authorLennart Poettering <lennart@poettering.net>
Wed, 13 Aug 2008 11:52:20 +0000 (13:52 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 13 Aug 2008 11:52:20 +0000 (13:52 +0200)
src/pulse/volume.c
src/pulse/volume.h

index 625eb19a90713437601e946370ba5e1327bf2782..f0d452752e1dd80fd9312f1057b7abecae2c864b 100644 (file)
@@ -74,6 +74,18 @@ pa_volume_t pa_cvolume_avg(const pa_cvolume *a) {
     return (pa_volume_t) sum;
 }
 
+pa_volume_t pa_cvolume_max(const pa_cvolume *a) {
+    pa_volume_t m = 0;
+    int i;
+    pa_assert(a);
+
+    for (i = 0; i < a->channels; i++)
+        if (a->values[i] > m)
+            m = a->values[i];
+
+    return m;
+}
+
 pa_volume_t pa_sw_volume_multiply(pa_volume_t a, pa_volume_t b) {
     return pa_sw_volume_from_linear(pa_sw_volume_to_linear(a)* pa_sw_volume_to_linear(b));
 }
index 4fdbf658ce4232c23cdca005b6bf97af2c8bd288..a356f749ac038a73b7d440bc882a827ed4630a14 100644 (file)
@@ -134,6 +134,9 @@ char *pa_cvolume_snprint(char *s, size_t l, const pa_cvolume *c);
 /** Return the average volume of all channels */
 pa_volume_t pa_cvolume_avg(const pa_cvolume *a) PA_GCC_PURE;
 
+/** Return the maximum volume of all channels. \since 0.9.12 */
+pa_volume_t pa_cvolume_max(const pa_cvolume *a) PA_GCC_PURE;
+
 /** Return TRUE when the passed cvolume structure is valid, FALSE otherwise */
 int pa_cvolume_valid(const pa_cvolume *v) PA_GCC_PURE;