From 3aef2fceff3205605aed19f8a81b56db56496631 Mon Sep 17 00:00:00 2001 From: Hendrik Leppkes Date: Sat, 25 Feb 2017 11:23:50 +0800 Subject: avformat/hlsenc: don't use %s for strftime on msvc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MSVC doesn't support the %s time format, and instead of returning an error the invalid parameter handler is invoked which (by default) terminates the process. Reviewed-by:Steven Liu Signed-off-by: Hendrik Leppkes --- libavformat/hlsenc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libavformat') diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 023870534f..9cf621125c 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -1027,7 +1027,8 @@ static const char * get_default_pattern_localtime_fmt(void) struct tm *p, tmbuf; p = localtime_r(&t, &tmbuf); // no %s support when strftime returned error or left format string unchanged - return (!strftime(b, sizeof(b), "%s", p) || !strcmp(b, "%s")) ? "-%Y%m%d%H%M%S.ts" : "-%s.ts"; + // also no %s support on MSVC, which invokes the invalid parameter handler on unsupported format strings, instead of returning an error + return (HAVE_LIBC_MSVCRT || !strftime(b, sizeof(b), "%s", p) || !strcmp(b, "%s")) ? "-%Y%m%d%H%M%S.ts" : "-%s.ts"; } static int hls_write_header(AVFormatContext *s) -- cgit v1.2.3