X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=mp3dec.c;h=335c2baaea66f2ac6b9392b177958101fc36b0e2;hp=401a03c582f418d6590a7fc27007becdfab6d73d;hb=33713473b1051c2d9f487c66a92a5cbdf1277ce3;hpb=505cfe0c6c8f9ef79d259ee64404ab40f2057081 diff --git a/mp3dec.c b/mp3dec.c index 401a03c5..335c2baa 100644 --- a/mp3dec.c +++ b/mp3dec.c @@ -74,14 +74,13 @@ next_frame: mad_synth_frame(&pmd->synth, &pmd->frame); for (i = 0; i < pmd->synth.pcm.length; i++) { - /* output format: unsigned 16 bit little endian */ - signed short s = MAD_TO_SHORT(pmd->synth.pcm.samples[0][i]); - fn->buf[fn->loaded++] = s & 0xff; - fn->buf[fn->loaded++] = s >> 8; + int s = MAD_TO_SHORT(pmd->synth.pcm.samples[0][i]); + write_int16_host_endian(fn->buf + fn->loaded, s); + fn->loaded += 2; if (MAD_NCHANNELS(&pmd->frame.header) == 2) { /* stereo */ s = MAD_TO_SHORT(pmd->synth.pcm.samples[1][i]); - fn->buf[fn->loaded++] = s & 0xff; - fn->buf[fn->loaded++] = s >> 8; + write_int16_host_endian(fn->buf + fn->loaded, s); + fn->loaded += 2; } if (fn->loaded != fn->bufsize) /* output buffer not full */ continue;