summaryrefslogtreecommitdiff
path: root/apps/codecs
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs')
-rw-r--r--apps/codecs/mpa.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/apps/codecs/mpa.c b/apps/codecs/mpa.c
index e43048ffb4..110df0c39f 100644
--- a/apps/codecs/mpa.c
+++ b/apps/codecs/mpa.c
@@ -226,7 +226,7 @@ enum codec_status codec_start(struct codec_api* api)
226 // mad_timer_add(&Timer,Frame.header.duration); 226 // mad_timer_add(&Timer,Frame.header.duration);
227 227
228 mad_synth_frame(&Synth,&Frame); 228 mad_synth_frame(&Synth,&Frame);
229 framelength = Synth.pcm.length; 229 framelength = Synth.pcm.length - frame_skip;
230 230
231 /* Convert MAD's numbers to an array of 16-bit LE signed integers */ 231 /* Convert MAD's numbers to an array of 16-bit LE signed integers */
232 /* We skip frame_skip number of samples here, this should only happen for 232 /* We skip frame_skip number of samples here, this should only happen for
@@ -257,14 +257,14 @@ enum codec_status codec_start(struct codec_api* api)
257 } 257 }
258 ci->pcmbuf_insert_split(&Synth.pcm.samples[0][frame_skip], 258 ci->pcmbuf_insert_split(&Synth.pcm.samples[0][frame_skip],
259 &Synth.pcm.samples[1][frame_skip], 259 &Synth.pcm.samples[1][frame_skip],
260 (framelength - frame_skip) * 4); 260 framelength * 4);
261 } else { 261 } else {
262 if (current_stereo_mode != STEREO_MONO) { 262 if (current_stereo_mode != STEREO_MONO) {
263 ci->configure(DSP_SET_STEREO_MODE, (int *)STEREO_MONO); 263 ci->configure(DSP_SET_STEREO_MODE, (int *)STEREO_MONO);
264 current_stereo_mode = STEREO_MONO; 264 current_stereo_mode = STEREO_MONO;
265 } 265 }
266 ci->pcmbuf_insert((char *)&Synth.pcm.samples[0][frame_skip], 266 ci->pcmbuf_insert((char *)&Synth.pcm.samples[0][frame_skip],
267 (framelength - frame_skip) * 4); 267 framelength * 4);
268 } 268 }
269 269
270 frame_skip = 0; 270 frame_skip = 0;