From f42459ff3bb3f2c31d8c8b645c412d2fd2c66cd3 Mon Sep 17 00:00:00 2001 From: Brandon Low Date: Sat, 22 Apr 2006 15:13:53 +0000 Subject: Comment and make pretty the hack git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9761 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/mpa.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/codecs/mpa.c b/apps/codecs/mpa.c index da449f4d8d..bbfbb574e6 100644 --- a/apps/codecs/mpa.c +++ b/apps/codecs/mpa.c @@ -34,6 +34,8 @@ struct mad_synth synth IBSS_ATTR; void abort(void) { } +/* These extra 8 bytes fake-added to each read make mad decode the last frame */ +#define MAD_BUFFER_GUARD 8 #define INPUT_CHUNK_SIZE 8192 mad_fixed_t mad_frame_overlap[2][32][18] IBSS_ATTR; @@ -181,7 +183,8 @@ enum codec_status codec_start(struct codec_api *api) inputbuffer = ci->request_buffer(&size, INPUT_CHUNK_SIZE); if (size == 0 || inputbuffer == NULL) break; - mad_stream_buffer(&stream, (unsigned char *)inputbuffer, size + 8); + mad_stream_buffer(&stream, (unsigned char *)inputbuffer, + size + MAD_BUFFER_GUARD); } if (mad_frame_decode(&frame, &stream)) { -- cgit v1.2.3