[FFmpeg-cvslog] alacdec: do not be too strict about the extradata size
Justin Ruggles
git at videolan.org
Sun Dec 23 13:51:16 CET 2012
ffmpeg | branch: master | Justin Ruggles <justin.ruggles at gmail.com> | Sat Dec 22 01:21:09 2012 -0500| [68a04b0ccee66f57516e129dd3ec457fd50b4bec] | committer: Justin Ruggles
alacdec: do not be too strict about the extradata size
Sometimes the extradata has duplicate atoms, but that shouldn't prevent
decoding. Just ensure that it is at least 36 bytes as a sanity check.
CC: libav-stable at libav.org
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=68a04b0ccee66f57516e129dd3ec457fd50b4bec
---
libavcodec/alac.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/libavcodec/alac.c b/libavcodec/alac.c
index 22882a5..1a3f769 100644
--- a/libavcodec/alac.c
+++ b/libavcodec/alac.c
@@ -521,10 +521,9 @@ static av_cold int alac_decode_init(AVCodecContext * avctx)
alac->avctx = avctx;
/* initialize from the extradata */
- if (alac->avctx->extradata_size != ALAC_EXTRADATA_SIZE) {
- av_log(avctx, AV_LOG_ERROR, "alac: expected %d extradata bytes\n",
- ALAC_EXTRADATA_SIZE);
- return -1;
+ if (alac->avctx->extradata_size < ALAC_EXTRADATA_SIZE) {
+ av_log(avctx, AV_LOG_ERROR, "alac: extradata is too small\n");
+ return AVERROR_INVALIDDATA;
}
if (alac_set_info(alac)) {
av_log(avctx, AV_LOG_ERROR, "alac: set_info failed\n");
More information about the ffmpeg-cvslog
mailing list