[FFmpeg-devel] [PATCH] libavformat/hlsenc.c Accurrate time output in program_date_time (corrected)

Pavel Pilar pilarpav at centrum.cz
Tue Jul 9 14:42:36 EEST 2019


---
 libavformat/hlsenc.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c
index 00c725af18..94fd713834 100644
--- a/libavformat/hlsenc.c
+++ b/libavformat/hlsenc.c
@@ -2653,6 +2653,9 @@ static int hls_init(AVFormatContext *s)
     char *p = NULL;
     int vtt_basename_size = 0;
     int fmp4_init_filename_len = strlen(hls->fmp4_init_filename) + 1;
+#ifdef _POSIX_TIMERS              
+    struct timespec now_accurate;
+#endif
 
     hls->has_default_key = 0;
     hls->has_video_m3u8 = 0;
@@ -2742,14 +2745,13 @@ static int hls_init(AVFormatContext *s)
         }
 
         if (hls->flags & HLS_PROGRAM_DATE_TIME) {
-#ifdef _POSIX_TIMERS           
-            struct timespec now0;
-            clock_gettime(CLOCK_MONOTONIC, &now0);
-            vs->initial_prog_date_time = now0.tv_sec + now0.tv_nsec / 1e9;
-#else
             time_t now0;
             time(&now0);
             vs->initial_prog_date_time = now0;
+#ifdef _POSIX_TIMERS           
+            if (clock_gettime(CLOCK_REALTIME, &now_accurate) == 0) {
+                vs->initial_prog_date_time = now_accurate.tv_sec + now_accurate.tv_nsec / 1e9;                
+            }
 #endif
         }
         if (hls->format_options_str) {
-- 
2.17.1



More information about the ffmpeg-devel mailing list