X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fmov.c;h=3da31ac62906a2ad7444d5a55865fbc9eebeefd8;hb=2e97e244097c309571b383dd107252404ebb3326;hp=eec8485b65828f88a3ab7b15b159c3f52b60848f;hpb=8b2dd04afc779a2bdb8676c652154130e29438fb;p=ffmpeg diff --git a/libavformat/mov.c b/libavformat/mov.c index eec8485b658..3da31ac6290 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1779,7 +1779,7 @@ static int mov_read_stss(MOVContext *c, AVIOContext *pb, MOVAtom atom) if (!entries) { sc->keyframe_absent = 1; - if (!st->need_parsing) + if (!st->need_parsing && st->codec->codec_type == AVMEDIA_TYPE_VIDEO) st->need_parsing = AVSTREAM_PARSE_HEADERS; return 0; } @@ -2387,8 +2387,10 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom) // done for ai5q, ai52, ai55, ai1q, ai12 and ai15. if (!st->codec->extradata_size && st->codec->codec_id == AV_CODEC_ID_H264 && - st->codec->codec_tag != MKTAG('a', 'v', 'c', '1')) { - ff_generate_avci_extradata(st); + TAG_IS_AVCI(st->codec->codec_tag)) { + ret = ff_generate_avci_extradata(st); + if (ret < 0) + return ret; } switch (st->codec->codec_id) {