Commit 02f7665a authored by Michael Niedermayer's avatar Michael Niedermayer

avformat/mov: do not overwrite extradata in mov_read_glbl()

Fixes regression from Ticket3962

This basically favors the first global header while since 34751f83
it was the last. If this heuristic turns out worse, do not hesitate to revert this and
reopen 3962 as a feature request for multiple STSD
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent fb7d8d50
...@@ -1099,6 +1099,10 @@ static int mov_read_glbl(MOVContext *c, AVIOContext *pb, MOVAtom atom) ...@@ -1099,6 +1099,10 @@ static int mov_read_glbl(MOVContext *c, AVIOContext *pb, MOVAtom atom)
if (type == MKTAG('f','i','e','l') && size == atom.size) if (type == MKTAG('f','i','e','l') && size == atom.size)
return mov_read_default(c, pb, atom); return mov_read_default(c, pb, atom);
} }
if (st->codec->extradata_size > 1 && st->codec->extradata) {
av_log(c, AV_LOG_WARNING, "ignoring multiple glbl\n");
return 0;
}
av_free(st->codec->extradata); av_free(st->codec->extradata);
if (ff_get_extradata(st->codec, pb, atom.size) < 0) if (ff_get_extradata(st->codec, pb, atom.size) < 0)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment