diff options
Diffstat (limited to 'apps/codecs/libmad/layer3.c')
-rw-r--r-- | apps/codecs/libmad/layer3.c | 11 |
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) ? |