summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/pcm_playback.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/pcm_playback.c b/firmware/pcm_playback.c
index f3098fac93..efe9f0eedf 100644
--- a/firmware/pcm_playback.c
+++ b/firmware/pcm_playback.c
@@ -774,11 +774,11 @@ void pcm_calculate_peaks(int *left, int *right)
774#endif 774#endif
775 775
776 if (samples > PEAK_SAMPLES) 776 if (samples > PEAK_SAMPLES)
777 samples = PEAK_SAMPLES - PEAK_STRIDE; 777 samples = PEAK_SAMPLES - (PEAK_STRIDE - 1);
778 else 778 else
779 samples -= MIN(PEAK_STRIDE, samples); 779 samples -= MIN(PEAK_STRIDE - 1, samples);
780 780
781 end = addr + samples * 4; 781 end = &addr[samples * 2];
782 } 782 }
783 783
784 if (left && right) { 784 if (left && right) {
@@ -796,7 +796,7 @@ void pcm_calculate_peaks(int *left, int *right)
796 else if (-value > right_peak) 796 else if (-value > right_peak)
797 right_peak = -value; 797 right_peak = -value;
798 798
799 addr += PEAK_STRIDE * 2; 799 addr = &addr[PEAK_STRIDE * 2];
800 } 800 }
801 801
802 *left = left_peak; 802 *left = left_peak;