summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/dsp.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/dsp.c b/apps/dsp.c
index 3d02f5a630..309c8a229c 100644
--- a/apps/dsp.c
+++ b/apps/dsp.c
@@ -305,7 +305,7 @@ static long downsample(long **dst, long **src, int count,
305 long *d[2] = { dst[0], dst[1] }; 305 long *d[2] = { dst[0], dst[1] };
306 int pos = phase >> 16; 306 int pos = phase >> 16;
307 int i = 1, j; 307 int i = 1, j;
308 int num_channels = src[0] == src[1] ? 1 : 2; 308 int num_channels = dsp->stereo_mode == STEREO_MONO ? 1 : 2;
309 309
310 for (j = 0; j < num_channels; j++) { 310 for (j = 0; j < num_channels; j++) {
311 last_sample = r->last_sample[j]; 311 last_sample = r->last_sample[j];
@@ -343,7 +343,7 @@ static long upsample(long **dst, long **src, int count, struct resample_data *r)
343 long *d[2] = { dst[0], dst[1] }; 343 long *d[2] = { dst[0], dst[1] };
344 int i = 0, j; 344 int i = 0, j;
345 int pos; 345 int pos;
346 int num_channels = src[0] == src[1] ? 1 : 2; 346 int num_channels = dsp->stereo_mode == STEREO_MONO ? 1 : 2;
347 347
348 while ((pos = phase >> 16) == 0) 348 while ((pos = phase >> 16) == 0)
349 { 349 {
@@ -395,7 +395,10 @@ static inline int resample(long* src[], int count)
395 } 395 }
396 396
397 src[0] = dst[0]; 397 src[0] = dst[0];
398 src[1] = dst[1]; 398 if (dsp->stereo_mode != STEREO_MONO)
399 src[1] = dst[1];
400 else
401 src[1] = dst[0];
399 } 402 }
400 else 403 else
401 { 404 {