]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/bfi.c
lavfi/lavfutils: switch to the new decoding API
[ffmpeg] / libavformat / bfi.c
index 6c98e33ab4a4812e4245dcef6ccd44bc6d3e27be..29e2cf8cf4193d9151768b727dabdd108106d367 100644 (file)
@@ -39,7 +39,7 @@ typedef struct BFIContext {
     int avflag;
 } BFIContext;
 
-static int bfi_probe(AVProbeData * p)
+static int bfi_probe(const AVProbeData * p)
 {
     /* Check file header */
     if (AV_RL32(p->buf) == MKTAG('B', 'F', '&', 'I'))
@@ -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) {