summaryrefslogtreecommitdiff
path: root/libavformat/concatdec.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2020-07-21 01:09:48 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-07-07 21:47:20 +0200
commit2ca36ef08bf6a1bf8e9ceb26d55695e92b28cdaf (patch)
tree0ead26d9d21972e8a5b94b85f875faca9d67ce1a /libavformat/concatdec.c
parentb10668dd611ea65cb47e3541a41d5b6f57d10f36 (diff)
downloadffmpeg-2ca36ef08bf6a1bf8e9ceb26d55695e92b28cdaf.tar.gz
avformat/concatdec: Simplify cleanup after read_header failure
by setting the FF_FMT_INIT_CLEANUP flag. (Btw: concat_read_close() is not idempotent (it frees cat->files, but doesn't reset cat->nb_files), so this demuxer was incompatible with simply calling read_close generically upon read_header failure.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavformat/concatdec.c')
-rw-r--r--libavformat/concatdec.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/libavformat/concatdec.c b/libavformat/concatdec.c
index 6d77398f48..96b4b96962 100644
--- a/libavformat/concatdec.c
+++ b/libavformat/concatdec.c
@@ -510,12 +510,9 @@ static int concat_read_header(AVFormatContext *avf)
MATCH_ONE_TO_ONE;
if ((ret = open_file(avf, 0)) < 0)
goto fail;
- av_bprint_finalize(&bp, NULL);
- return 0;
fail:
av_bprint_finalize(&bp, NULL);
- concat_read_close(avf);
return ret;
}
@@ -779,6 +776,7 @@ const AVInputFormat ff_concat_demuxer = {
.name = "concat",
.long_name = NULL_IF_CONFIG_SMALL("Virtual concatenation script"),
.priv_data_size = sizeof(ConcatContext),
+ .flags_internal = FF_FMT_INIT_CLEANUP,
.read_probe = concat_probe,
.read_header = concat_read_header,
.read_packet = concat_read_packet,