[FFmpeg-cvslog] avformat/paf: Simplify cleanup after read_header failure
Andreas Rheinhardt
git at videolan.org
Thu Jul 8 16:45:05 EEST 2021
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Sat Mar 21 18:31:06 2020 +0100| [d2574262a538748a24ca2debecec33d8fe31df60] | committer: Andreas Rheinhardt
avformat/paf: Simplify cleanup after read_header failure
by setting the FF_FMT_INIT_CLEANUP flag.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d2574262a538748a24ca2debecec33d8fe31df60
---
libavformat/paf.c | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)
diff --git a/libavformat/paf.c b/libavformat/paf.c
index f48b2e60cd..2d2d7f8dd8 100644
--- a/libavformat/paf.c
+++ b/libavformat/paf.c
@@ -172,22 +172,20 @@ static int read_header(AVFormatContext *s)
!p->blocks_offset_table ||
!p->video_frame ||
!p->audio_frame ||
- !p->temp_audio_frame) {
- ret = AVERROR(ENOMEM);
- goto fail;
- }
+ !p->temp_audio_frame)
+ return AVERROR(ENOMEM);
avio_seek(pb, p->buffer_size, SEEK_SET);
ret = read_table(s, p->blocks_count_table, p->nb_frames);
if (ret < 0)
- goto fail;
+ return ret;
ret = read_table(s, p->frames_offset_table, p->nb_frames);
if (ret < 0)
- goto fail;
+ return ret;
ret = read_table(s, p->blocks_offset_table, p->frame_blks);
if (ret < 0)
- goto fail;
+ return ret;
p->got_audio = 0;
p->current_frame = 0;
@@ -196,11 +194,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)
@@ -275,6 +268,7 @@ const AVInputFormat ff_paf_demuxer = {
.name = "paf",
.long_name = NULL_IF_CONFIG_SMALL("Amazing Studio Packed Animation File"),
.priv_data_size = sizeof(PAFDemuxContext),
+ .flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = read_probe,
.read_header = read_header,
.read_packet = read_packet,
More information about the ffmpeg-cvslog
mailing list