[FFmpeg-devel] [PATCH 13/21] avformat/av1dec: Simplify cleanup after read_header error

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Sun Mar 22 05:47:48 EET 2020


by setting the FF_INPUTFORMAT_HEADER_CLEANUP flag.

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

diff --git a/libavformat/av1dec.c b/libavformat/av1dec.c
index 1be2fac1c1..3bf7b598a0 100644
--- a/libavformat/av1dec.c
+++ b/libavformat/av1dec.c
@@ -174,16 +174,10 @@ static int annexb_read_header(AVFormatContext *s)
         return ret;
 
     ret = avcodec_parameters_copy(c->bsf->par_in, st->codecpar);
-    if (ret < 0) {
-        av_bsf_free(&c->bsf);
-        return ret;
-    }
-
-    ret = av_bsf_init(c->bsf);
     if (ret < 0)
-        av_bsf_free(&c->bsf);
+        return ret;
 
-    return ret;
+    return av_bsf_init(c->bsf);
 }
 
 static int annexb_read_packet(AVFormatContext *s, AVPacket *pkt)
@@ -276,4 +270,5 @@ AVInputFormat ff_av1_demuxer = {
     .extensions     = "obu",
     .flags          = AVFMT_GENERIC_INDEX,
     .priv_class     = &annexb_demuxer_class,
+    .flags_internal = FF_INPUTFORMAT_HEADER_CLEANUP,
 };
-- 
2.20.1



More information about the ffmpeg-devel mailing list