diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2020-03-21 18:31:06 +0100 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-07-08 13:50:28 +0200 |
commit | 9ef7582446bf792e11ff55cc5f7dbaf7a1d0d89c (patch) | |
tree | b26843b090c38e8437adeb859045897cd8bf4335 /libavformat | |
parent | 7ae7d936532924108872f1f6d90d9104603616be (diff) | |
download | ffmpeg-9ef7582446bf792e11ff55cc5f7dbaf7a1d0d89c.tar.gz |
avformat/sccdec: Simplify cleanup after read_header failure
by setting the FF_FMT_INIT_CLEANUP flag.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/sccdec.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/libavformat/sccdec.c b/libavformat/sccdec.c index 5ad21a1f8b..e59e015bbc 100644 --- a/libavformat/sccdec.c +++ b/libavformat/sccdec.c @@ -145,7 +145,7 @@ static int scc_read_header(AVFormatContext *s) sub = ff_subtitles_queue_insert(&scc->q, out, i, 0); if (!sub) - goto fail; + return AVERROR(ENOMEM); sub->pos = pos; pos += i; @@ -164,7 +164,7 @@ static int scc_read_header(AVFormatContext *s) sub = ff_subtitles_queue_insert(&scc->q, out, i, 0); if (!sub) - goto fail; + return AVERROR(ENOMEM); sub->pos = pos; sub->pts = ts; @@ -175,9 +175,6 @@ static int scc_read_header(AVFormatContext *s) ff_subtitles_queue_finalize(s, &scc->q); return 0; -fail: - ff_subtitles_queue_clean(&scc->q); - return AVERROR(ENOMEM); } static int scc_read_packet(AVFormatContext *s, AVPacket *pkt) @@ -205,6 +202,7 @@ const AVInputFormat ff_scc_demuxer = { .name = "scc", .long_name = NULL_IF_CONFIG_SMALL("Scenarist Closed Captions"), .priv_data_size = sizeof(SCCContext), + .flags_internal = FF_FMT_INIT_CLEANUP, .read_probe = scc_probe, .read_header = scc_read_header, .read_packet = scc_read_packet, |