[FFmpeg-devel] [PATCH 10/54] avformat/av1dec: Simplify cleanup after read_header failure
James Almer
jamrial at gmail.com
Thu Jun 17 05:27:34 EEST 2021
On 6/15/2021 8:31 PM, Andreas Rheinhardt wrote:
> by setting the FF_FMT_INIT_CLEANUP flag.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
> libavformat/av1dec.c | 13 ++++---------
> 1 file changed, 4 insertions(+), 9 deletions(-)
>
> diff --git a/libavformat/av1dec.c b/libavformat/av1dec.c
> index 8ca804c2a3..f282477ca4 100644
> --- a/libavformat/av1dec.c
> +++ b/libavformat/av1dec.c
> @@ -77,17 +77,10 @@ static int read_header(AVFormatContext *s, const AVRational *framerate, AVBSFCon
> return ret;
>
> ret = avcodec_parameters_copy((*bsf)->par_in, st->codecpar);
> - if (ret < 0) {
> - av_bsf_free(bsf);
> - return ret;
> - }
> -
> - ret = av_bsf_init(*bsf);
> if (ret < 0)
> - av_bsf_free(bsf);
> -
> - return ret;
> + return ret;
>
> + return av_bsf_init(*bsf);
nit: I'd prefer if you keep the two ret < 0 checks with their
corresponding return rets, and make the last line an explicit return 0
(For whatever reason, av_bsf_init() doxy does not mention what values it
returns).
> }
>
> #define DEC AV_OPT_FLAG_DECODING_PARAM
> @@ -285,6 +278,7 @@ const AVInputFormat ff_av1_demuxer = {
> .name = "av1",
> .long_name = NULL_IF_CONFIG_SMALL("AV1 Annex B"),
> .priv_data_size = sizeof(AnnexBContext),
> + .flags_internal = FF_FMT_INIT_CLEANUP,
> .read_probe = annexb_probe,
> .read_header = annexb_read_header,
> .read_packet = annexb_read_packet,
> @@ -472,6 +466,7 @@ const AVInputFormat ff_obu_demuxer = {
> .name = "obu",
> .long_name = NULL_IF_CONFIG_SMALL("AV1 low overhead OBU"),
> .priv_data_size = sizeof(ObuContext),
> + .flags_internal = FF_FMT_INIT_CLEANUP,
> .read_probe = obu_probe,
> .read_header = obu_read_header,
> .read_packet = obu_read_packet,
>
More information about the ffmpeg-devel
mailing list