[FFmpeg-cvslog] avformat/hlsenc: Simplify setting base_output_dirname
Andreas Rheinhardt
git at videolan.org
Sun May 10 23:37:32 EEST 2020
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Fri May 8 21:40:29 2020 +0200| [6db81e93a95d150ec828214ba7eb6183577c748c] | committer: Andreas Rheinhardt
avformat/hlsenc: Simplify setting base_output_dirname
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6db81e93a95d150ec828214ba7eb6183577c748c
---
libavformat/hlsenc.c | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)
diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index d80852739e..be54957e9d 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -2908,24 +2908,18 @@ static int hls_init(AVFormatContext *s)
return ret;
}
- fmp4_init_filename_len = strlen(vs->m3u8_name) +
- strlen(vs->fmp4_init_filename) + 1;
-
- vs->base_output_dirname = av_malloc(fmp4_init_filename_len);
- if (!vs->base_output_dirname)
- return AVERROR(ENOMEM);
-
- av_strlcpy(vs->base_output_dirname, vs->m3u8_name,
- fmp4_init_filename_len);
- p = strrchr(vs->base_output_dirname, '/');
+ p = strrchr(vs->m3u8_name, '/');
if (p) {
- *(p + 1) = '\0';
- av_strlcat(vs->base_output_dirname, vs->fmp4_init_filename,
- fmp4_init_filename_len);
+ char tmp = *(++p);
+ *p = '\0';
+ vs->base_output_dirname = av_asprintf("%s%s", vs->m3u8_name,
+ vs->fmp4_init_filename);
+ *p = tmp;
} else {
- av_strlcpy(vs->base_output_dirname, vs->fmp4_init_filename,
- fmp4_init_filename_len);
+ vs->base_output_dirname = av_strdup(vs->fmp4_init_filename);
}
+ if (!vs->base_output_dirname)
+ return AVERROR(ENOMEM);
}
}
More information about the ffmpeg-cvslog
mailing list