[FFmpeg-devel] [PATCH] libavformat/hlsenc: default segment name and, use_localtime
Steven Liu
lingjiujianke at gmail.com
Sat Dec 31 12:48:22 EET 2016
2016-12-31 1:24 GMT+08:00 Bodecs Bela <bodecsb at vivanet.hu>:
>
> 2016.12.30. 18:11 keltezéssel, Moritz Barsnick írta:
>
>> On Fri, Dec 30, 2016 at 15:38:25 +0100, Bodecs Bela wrote:
>>
>>> is not available on all system/environment. This patch checks %s
>>> availabilty at runtine and alter the default format string if necessary.
>>>
>> You forgot to add the patch.
>>
> please, forgive me. I attached it now.
>
>
>> Moritz
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>
> Bela
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> Signed-off-by: Bela Bodecs <bodecsb at vivanet.hu>
---
libavformat/hlsenc.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index c9d8e3c..76b85e8 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -829,13 +829,22 @@ fail:
return err;
}
+static const char * get_default_pattern_localtime_fmt(void)
+{
+ char b[21];
+ time_t t = time(NULL);
+ struct tm *p, tmbuf;
+ p = localtime_r(&t, &tmbuf);
+ return (strftime(b, sizeof(b), "%s", p) > 2) ? "-%s.ts" :
"-%Y%m%d%H%I%S.ts";
Why check strftime result bigger than 2,not 1 not 3?
+}
+
static int hls_write_header(AVFormatContext *s)
{
HLSContext *hls = s->priv_data;
int ret, i;
char *p;
const char *pattern = "%d.ts";
- const char *pattern_localtime_fmt = "-%s.ts";
+ const char *pattern_localtime_fmt =
get_default_pattern_localtime_fmt();
const char *vtt_pattern = "%d.vtt";
AVDictionary *options = NULL;
int basename_size;
--
2.5.3.windows.1
More information about the ffmpeg-devel
mailing list