summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/bfi.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/libavformat/bfi.c b/libavformat/bfi.c
index 6c98e33ab4..0dad658f95 100644
--- a/libavformat/bfi.c
+++ b/libavformat/bfi.c
@@ -54,7 +54,7 @@ static int bfi_read_header(AVFormatContext * s)
AVIOContext *pb = s->pb;
AVStream *vstream;
AVStream *astream;
- int fps, chunk_header;
+ int ret, fps, chunk_header;
/* Initialize the video codec... */
vstream = avformat_new_stream(s, NULL);
@@ -80,12 +80,9 @@ static int bfi_read_header(AVFormatContext * s)
/*Load the palette to extradata */
avio_skip(pb, 8);
- vstream->codecpar->extradata = av_malloc(768);
- if (!vstream->codecpar->extradata)
- return AVERROR(ENOMEM);
- vstream->codecpar->extradata_size = 768;
- avio_read(pb, vstream->codecpar->extradata,
- vstream->codecpar->extradata_size);
+ ret = ff_get_extradata(s, vstream->codecpar, pb, 768);
+ if (ret < 0)
+ return ret;
astream->codecpar->sample_rate = avio_rl32(pb);
if (astream->codecpar->sample_rate <= 0) {