]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/flic.c
avformat/matroskaenc: Check return value of ff_isom_write_hvcc()
[ffmpeg] / libavformat / flic.c
index 7c62cb423c8a68250cd14ee5af1e2425bd8fc5a5..615d6b25c56bf394c45c2d781a61e0dd5bbcee2f 100644 (file)
@@ -57,7 +57,7 @@ typedef struct FlicDemuxContext {
     int frame_number;
 } FlicDemuxContext;
 
-static int flic_probe(AVProbeData *p)
+static int flic_probe(const AVProbeData *p)
 {
     int magic_number;
 
@@ -89,7 +89,7 @@ static int flic_read_header(AVFormatContext *s)
     AVIOContext *pb = s->pb;
     unsigned char header[FLIC_HEADER_SIZE];
     AVStream *st, *ast;
-    int speed;
+    int speed, ret;
     int magic_number;
     unsigned char preamble[FLIC_PREAMBLE_SIZE];
 
@@ -125,8 +125,8 @@ static int flic_read_header(AVFormatContext *s)
     }
 
     /* send over the whole 128-byte FLIC header */
-    if (ff_alloc_extradata(st->codecpar, FLIC_HEADER_SIZE))
-        return AVERROR(ENOMEM);
+    if ((ret = ff_alloc_extradata(st->codecpar, FLIC_HEADER_SIZE)) < 0)
+        return ret;
     memcpy(st->codecpar->extradata, header, FLIC_HEADER_SIZE);
 
     /* peek at the preamble to detect TFTD videos - they seem to always start with an audio chunk */
@@ -175,9 +175,8 @@ static int flic_read_header(AVFormatContext *s)
         avio_seek(pb, 12, SEEK_SET);
 
         /* send over abbreviated FLIC header chunk */
-        av_freep(&st->codecpar->extradata);
-        if (ff_alloc_extradata(st->codecpar, 12))
-            return AVERROR(ENOMEM);
+        if ((ret = ff_alloc_extradata(st->codecpar, 12)) < 0)
+            return ret;
         memcpy(st->codecpar->extradata, header, 12);
 
     } else if (magic_number == FLIC_FILE_MAGIC_1) {