X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fisom.c;h=c4880878c1b1c324bee26f97de6c45f68bdd5194;hb=77abf3145344341ec850e05d25a849c6f76fffa5;hp=0a4d901be5597e348458f6f984a2053078e58c4c;hpb=0c126431f9b290f5651ec62f45627632d94c51ea;p=ffmpeg diff --git a/libavformat/isom.c b/libavformat/isom.c index 0a4d901be55..c4880878c1b 100644 --- a/libavformat/isom.c +++ b/libavformat/isom.c @@ -290,6 +290,7 @@ const AVCodecTag ff_codec_movvideo_tags[] = { { AV_CODEC_ID_MAGICYUV, MKTAG('M', '0', 'R', 'A') }, { AV_CODEC_ID_MAGICYUV, MKTAG('M', '0', 'R', 'G') }, { AV_CODEC_ID_MAGICYUV, MKTAG('M', '0', 'Y', '2') }, + { AV_CODEC_ID_MAGICYUV, MKTAG('M', '0', 'Y', '4') }, { AV_CODEC_ID_MAGICYUV, MKTAG('M', '8', 'R', 'G') }, { AV_CODEC_ID_MAGICYUV, MKTAG('M', '8', 'R', 'A') }, { AV_CODEC_ID_MAGICYUV, MKTAG('M', '8', 'G', '0') }, @@ -337,6 +338,7 @@ const AVCodecTag ff_codec_movaudio_tags[] = { { AV_CODEC_ID_MP1, MKTAG('.', 'm', 'p', '1') }, { AV_CODEC_ID_MP2, MKTAG('.', 'm', 'p', '2') }, { AV_CODEC_ID_MP3, MKTAG('.', 'm', 'p', '3') }, + { AV_CODEC_ID_MP3, MKTAG('m', 'p', '3', ' ') }, /* vlc */ { AV_CODEC_ID_MP3, 0x6D730055 }, { AV_CODEC_ID_NELLYMOSER, MKTAG('n', 'm', 'o', 's') }, /* Flash Media Server */ { AV_CODEC_ID_NELLYMOSER, MKTAG('N', 'E', 'L', 'L') }, /* Perian */ @@ -534,6 +536,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)