[pulseaudio-discuss] [PATCH] resampler: Fix peaks resampler's channel handling

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Wed Jul 10 11:48:40 PDT 2013


In the resampling phase the input and output data have the same number
of channels (o_ss.channels).
---
 src/pulsecore/resampler.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/pulsecore/resampler.c b/src/pulsecore/resampler.c
index cdfaf8f..341d85b 100644
--- a/src/pulsecore/resampler.c
+++ b/src/pulsecore/resampler.c
@@ -1526,7 +1526,7 @@ static void peaks_resample(pa_resampler *r, const pa_memchunk *input, unsigned i
                 o_index++, r->peaks.o_counter++;
             }
         } else if (r->work_format == PA_SAMPLE_S16NE) {
-            int16_t *s = (int16_t*) src + r->i_ss.channels * i;
+            int16_t *s = (int16_t*) src + r->o_ss.channels * i;
             int16_t *d = (int16_t*) dst + r->o_ss.channels * o_index;
 
             for (; i < i_end && i < in_n_frames; i++)
@@ -1545,7 +1545,7 @@ static void peaks_resample(pa_resampler *r, const pa_memchunk *input, unsigned i
                 o_index++, r->peaks.o_counter++;
             }
         } else {
-            float *s = (float*) src + r->i_ss.channels * i;
+            float *s = (float*) src + r->o_ss.channels * i;
             float *d = (float*) dst + r->o_ss.channels * o_index;
 
             for (; i < i_end && i < in_n_frames; i++)
-- 
1.8.1.2



More information about the pulseaudio-discuss mailing list