[FFmpeg-cvslog] avformat/hlsenc: Only allocate when data is known to be needed
Andreas Rheinhardt
git at videolan.org
Mon Dec 23 08:18:56 EET 2019
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Mon Dec 16 01:04:05 2019 +0100| [ae84305036ceced3813fb295b71d51343ffd9535] | committer: Steven Liu
avformat/hlsenc: Only allocate when data is known to be needed
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>
Reviewed-by: Steven Liu <lq at onvideo.cn>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ae84305036ceced3813fb295b71d51343ffd9535
---
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);
}
More information about the ffmpeg-cvslog
mailing list