summaryrefslogtreecommitdiff
path: root/apps/codecs/libmad/layer3.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libmad/layer3.c')
-rw-r--r--apps/codecs/libmad/layer3.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/apps/codecs/libmad/layer3.c b/apps/codecs/libmad/layer3.c
index 752dbdbf63..0198e66a3d 100644
--- a/apps/codecs/libmad/layer3.c
+++ b/apps/codecs/libmad/layer3.c
@@ -3230,8 +3230,10 @@ int mad_layer_III(struct mad_stream *stream, struct mad_frame *frame)
3230 enum mad_error error; 3230 enum mad_error error;
3231 int result = 0; 3231 int result = 0;
3232 3232
3233#if 0 /* rockbox: do not allocate */
3233 /* allocate Layer III dynamic structures */ 3234 /* allocate Layer III dynamic structures */
3234 3235 /* rockbox: not used. Both pointers are linked to an array in rockbox'
3236 * apps/codecs/mpa.c before calling this. */
3235 if (stream->main_data == 0) { 3237 if (stream->main_data == 0) {
3236 stream->main_data = malloc(MAD_BUFFER_MDLEN); 3238 stream->main_data = malloc(MAD_BUFFER_MDLEN);
3237 if (stream->main_data == 0) { 3239 if (stream->main_data == 0) {
@@ -3247,6 +3249,13 @@ int mad_layer_III(struct mad_stream *stream, struct mad_frame *frame)
3247 return -1; 3249 return -1;
3248 } 3250 }
3249 } 3251 }
3252#else
3253 /* rockbox: This should not happen. Return with error. */
3254 if ((stream->main_data == 0) || (frame->overlap == 0)) {
3255 stream->error = MAD_ERROR_NOMEM;
3256 return -1;
3257 }
3258#endif /* rockbox */
3250 3259
3251 nch = MAD_NCHANNELS(header); 3260 nch = MAD_NCHANNELS(header);
3252 si_len = (header->flags & MAD_FLAG_LSF_EXT) ? 3261 si_len = (header->flags & MAD_FLAG_LSF_EXT) ?