[FFmpeg-devel] [PATCH 8/9] avformat/paf: Simplify cleanup after read_header failure

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Tue Jul 21 05:12:14 EEST 2020


by setting the AVFMT_HEADER_CLEANUP flag.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
 libavformat/paf.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/libavformat/paf.c b/libavformat/paf.c
index a31d01502b..9072c79edd 100644
--- a/libavformat/paf.c
+++ b/libavformat/paf.c
@@ -90,7 +90,6 @@ static int read_header(AVFormatContext *s)
     PAFDemuxContext *p  = s->priv_data;
     AVIOContext     *pb = s->pb;
     AVStream        *ast, *vst;
-    int ret = 0;
 
     avio_skip(pb, 132);
 
@@ -165,8 +164,7 @@ static int read_header(AVFormatContext *s)
         !p->video_frame         ||
         !p->audio_frame         ||
         !p->temp_audio_frame) {
-        ret = AVERROR(ENOMEM);
-        goto fail;
+        return AVERROR(ENOMEM);
     }
 
     avio_seek(pb, p->buffer_size, SEEK_SET);
@@ -182,11 +180,6 @@ static int read_header(AVFormatContext *s)
     avio_seek(pb, p->start_offset, SEEK_SET);
 
     return 0;
-
-fail:
-    read_close(s);
-
-    return ret;
 }
 
 static int read_packet(AVFormatContext *s, AVPacket *pkt)
@@ -260,6 +253,7 @@ static int read_packet(AVFormatContext *s, AVPacket *pkt)
 AVInputFormat ff_paf_demuxer = {
     .name           = "paf",
     .long_name      = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File"),
+    .flags          = AVFMT_HEADER_CLEANUP,
     .priv_data_size = sizeof(PAFDemuxContext),
     .read_probe     = read_probe,
     .read_header    = read_header,
-- 
2.20.1



More information about the ffmpeg-devel mailing list