[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