diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2016-07-16 23:27:54 +0200 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2016-08-06 22:43:19 +0200 |
commit | 803c058a6f0c835c3094621d03d6e8c02565f28e (patch) | |
tree | 742c720f444d6fab47f5fb4b7c8124984f876f5e /libavformat/mov.c | |
parent | 61da882cea4579658e8d01e24b8cb71c98df2b94 (diff) | |
download | ffmpeg-803c058a6f0c835c3094621d03d6e8c02565f28e.tar.gz |
avformat/mov: Enable mp3 parsing if a packet needs it
Fixes Ticket5689
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r-- | libavformat/mov.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index 7c8f784d71..f4c35d7d2e 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -43,6 +43,7 @@ #include "libavutil/sha.h" #include "libavutil/timecode.h" #include "libavcodec/ac3tab.h" +#include "libavcodec/mpegaudiodecheader.h" #include "avformat.h" #include "internal.h" #include "avio_internal.h" @@ -5340,6 +5341,10 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt) return ret; } #endif + if (st->codecpar->codec_id == AV_CODEC_ID_MP3 && !st->need_parsing && pkt->size > 4) { + if (ff_mpa_check_header(AV_RB32(pkt->data)) < 0) + st->need_parsing = AVSTREAM_PARSE_FULL; + } } pkt->stream_index = sc->ffindex; |