mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
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@gmail.com> Reviewed-by: Steven Liu <lq@onvideo.cn>
This commit is contained in:
parent
728c44b861
commit
ae84305036
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user