X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Favidec.c;h=17eb245332ca77c6e6dad03ef9b7c66d3ae60842;hb=74a9c92840d3494393938874c1cdd5bdb95cc918;hp=1c6b18c9805e773300d4b703470e24091d85246e;hpb=3f307d79d383e0ac505c9f8393d94fb36a092c05;p=ffmpeg diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 1c6b18c9805..17eb245332c 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -654,11 +654,8 @@ static int avi_read_header(AVFormatContext *s) st->codec->extradata_size = esize - 10 * 4; } else st->codec->extradata_size = size - 10 * 4; - if (ff_alloc_extradata(st->codec, st->codec->extradata_size)) + if (ff_get_extradata(st->codec, pb, st->codec->extradata_size) < 0) return AVERROR(ENOMEM); - avio_read(pb, - st->codec->extradata, - st->codec->extradata_size); } // FIXME: check if the encoder really did this correctly @@ -783,9 +780,8 @@ static int avi_read_header(AVFormatContext *s) st = s->streams[stream_index]; if (size<(1<<30)) { - if (ff_alloc_extradata(st->codec, size)) + if (ff_get_extradata(st->codec, pb, size) < 0) return AVERROR(ENOMEM); - avio_read(pb, st->codec->extradata, st->codec->extradata_size); } if (st->codec->extradata_size & 1) //FIXME check if the encoder really did this correctly