[FFmpeg-devel] [PATCH 03/16] avformat/hlsenc: Only allocate when data is known to be needed

Steven Liu lq at chinaffmpeg.org
Mon Dec 23 05:55:39 EET 2019



> 在 2019年12月16日,08:04,Andreas Rheinhardt <andreas.rheinhardt at gmail.com> 写道:
> 
> hls_init() would allocate a buffer, although it is only needed in one of
> two branches that follow. This commit moves the allocation to the branch
> that actually needs the buffer.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> ---
> libavformat/hlsenc.c | 11 +++++------
> 1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
> index 965c05c560..87bbfb8086 100644
> --- a/libavformat/hlsenc.c
> +++ b/libavformat/hlsenc.c
> @@ -2906,22 +2906,21 @@ static int hls_init(AVFormatContext *s)
>                 ret = AVERROR(ENOMEM);
>                 goto fail;
>             }
> -            vs->vtt_m3u8_name = av_malloc(vtt_basename_size);
> -            if (!vs->vtt_m3u8_name ) {
> -                ret = AVERROR(ENOMEM);
> -                goto fail;
> -            }
>             av_strlcpy(vs->vtt_basename, vs->m3u8_name, vtt_basename_size);
>             p = strrchr(vs->vtt_basename, '.');
>             if (p)
>                 *p = '\0';
> 
>             if ( hls->subtitle_filename ) {
> -                av_freep(&vs->vtt_m3u8_name);
>                 ret = format_name(hls->subtitle_filename, &vs->vtt_m3u8_name, i, vs->varname);
>                 if (ret < 0)
>                     goto fail;
>             } else {
> +                vs->vtt_m3u8_name = av_malloc(vtt_basename_size);
> +                if (!vs->vtt_m3u8_name) {
> +                    ret = AVERROR(ENOMEM);
> +                    goto fail;
> +                }
>                 strcpy(vs->vtt_m3u8_name, vs->vtt_basename);
>                 av_strlcat(vs->vtt_m3u8_name, "_vtt.m3u8", vtt_basename_size);
>             }
> -- 
> 2.20.1
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe”.

LGTM

Thanks
Steven






More information about the ffmpeg-devel mailing list