summaryrefslogtreecommitdiff
path: root/libavformat/isom.c
diff options
context:
space:
mode:
authorGyan Doshi <ffmpeg@gyani.pro>2019-03-28 22:59:30 +0530
committerGyan Doshi <ffmpeg@gyani.pro>2019-04-01 23:28:25 +0530
commit8eca42e6320ebfc682a1309bb40d019b41a9dfd5 (patch)
treeaa1db7a1a2bccec9f5c7bc5261595ee49f518df6 /libavformat/isom.c
parentb43b8d337db0644f3c54bda01d36f433b787cf74 (diff)
downloadffmpeg-8eca42e6320ebfc682a1309bb40d019b41a9dfd5.tar.gz
lavf/mov: skip extradata check in esds for MPEG-1/2 audio
As per 14496-3 9.D.2.2, it's not defined for these audio object types. Fixes #7817.
Diffstat (limited to 'libavformat/isom.c')
-rw-r--r--libavformat/isom.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libavformat/isom.c b/libavformat/isom.c
index 0a4d901be5..4358dc4a6a 100644
--- a/libavformat/isom.c
+++ b/libavformat/isom.c
@@ -534,6 +534,10 @@ FF_ENABLE_DEPRECATION_WARNINGS
len = ff_mp4_read_descr(fc, pb, &tag);
if (tag == MP4DecSpecificDescrTag) {
av_log(fc, AV_LOG_TRACE, "Specific MPEG-4 header len=%d\n", len);
+ /* As per 14496-3:2009 9.D.2.2, No decSpecificInfo is defined
+ for MPEG-1 Audio or MPEG-2 Audio; MPEG-2 AAC excluded. */
+ if (object_type_id == 0x69 || object_type_id == 0x6b)
+ return 0;
if (!len || (uint64_t)len > (1<<30))
return AVERROR_INVALIDDATA;
if ((ret = ff_get_extradata(fc, st->codecpar, pb, len)) < 0)