}
mad_synth_frame(&pmd->synth, &pmd->frame);
pmd->flags |= MP3DEC_FLAG_DECODE_STARTED;
-
- outbuffer = para_malloc(pmd->synth.pcm.length * 4);
+ outbuffer = para_malloc(pmd->synth.pcm.length * 2 * pmd->channels);
loaded = 0;
for (i = 0; i < pmd->synth.pcm.length; i++) {
int sample = MAD_TO_SHORT(pmd->synth.pcm.samples[0][i]);
write_int16_host_endian(outbuffer + loaded, sample);
loaded += 2;
- if (MAD_NCHANNELS(&pmd->frame.header) == 2) { /* stereo */
+ if (pmd->channels == 2) { /* stereo */
sample = MAD_TO_SHORT(pmd->synth.pcm.samples[1][i]);
write_int16_host_endian(outbuffer + loaded, sample);
loaded += 2;