]> code.delx.au - pulseaudio/commitdiff
fix peak detection pseudo resampler
authorLennart Poettering <lennart@poettering.net>
Sat, 17 May 2008 09:10:16 +0000 (09:10 +0000)
committerLennart Poettering <lennart@poettering.net>
Sat, 17 May 2008 09:10:16 +0000 (09:10 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2453 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulsecore/resampler.c

index d645639c0eba502b4e246cd423f63863f9017002..7d469930919bb7a899f6f1ea630d064e3951a6b9 100644 (file)
@@ -1457,10 +1457,10 @@ static void peaks_resample(pa_resampler *r, const pa_memchunk *input, unsigned i
                         r->peaks.max_i[c] = n;
                 }
 
-            for (c = 0; c < r->o_ss.channels; c++, d++)
+            for (c = 0; c < r->o_ss.channels; c++, d++) {
                  *d = r->peaks.max_i[c];
-
-            memset(r->peaks.max_i, 0, sizeof(r->peaks.max_i));
+                 r->peaks.max_i[c] = 0;
+            }
         } else {
             unsigned i, c;
             float *s = (float*) ((uint8_t*) src + fz * j);
@@ -1476,11 +1476,13 @@ static void peaks_resample(pa_resampler *r, const pa_memchunk *input, unsigned i
                         r->peaks.max_f[c] = n;
                 }
 
-            for (c = 0; c < r->o_ss.channels; c++, d++)
+            for (c = 0; c < r->o_ss.channels; c++, d++) {
                 *d = r->peaks.max_f[c];
-
-            memset(r->peaks.max_f, 0, sizeof(r->peaks.max_f));
+                r->peaks.max_f[c] = 0;
+            }
         }
+
+        start = j+1;
     }
 
     pa_memblock_release(input->memblock);