Re: [FFmpeg-devel] [PATCH v2] avformat/dashenc: Format xs:datetime in millisecond precision

2019-01-21 Thread Jeyapal, Karthick

On 1/17/19 2:35 PM, Karthick J wrote:
> For low latency streaming even milliseconds matter!
> ---
>  libavformat/dashenc.c | 15 ---
>  1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
> index cfd0f601d4..9c90cf17e5 100644
> --- a/libavformat/dashenc.c
> +++ b/libavformat/dashenc.c
> @@ -32,6 +32,7 @@
>  #include "libavutil/mathematics.h"
>  #include "libavutil/opt.h"
>  #include "libavutil/rational.h"
> +#include "libavutil/time.h"
>  #include "libavutil/time_internal.h"
>  
>  #include "avc.h"
> @@ -668,12 +669,20 @@ static void write_time(AVIOContext *out, int64_t time)
>  
>  static void format_date_now(char *buf, int size)
>  {
> -time_t t = time(NULL);
>  struct tm *ptm, tmbuf;
> -ptm = gmtime_r(, );
> +int64_t time_us = av_gettime();
> +int64_t time_ms = time_us / 1000;
> +const time_t time_s = time_ms / 1000;
> +int millisec = time_ms - (time_s * 1000);
> +ptm = gmtime_r(_s, );
>  if (ptm) {
> -if (!strftime(buf, size, "%Y-%m-%dT%H:%M:%SZ", ptm))
> +int len;
> +if (!strftime(buf, size, "%Y-%m-%dT%H:%M:%S", ptm)) {
>  buf[0] = '\0';
> +return;
> +}
> +len = strlen(buf);
> +snprintf(buf + len, size - len, ".%03dZ", millisec);
>  }
>  }
>  
Pushed.

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH v2] avformat/dashenc: Format xs:datetime in millisecond precision

2019-01-17 Thread Karthick J
For low latency streaming even milliseconds matter!
---
 libavformat/dashenc.c | 15 ---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c
index cfd0f601d4..9c90cf17e5 100644
--- a/libavformat/dashenc.c
+++ b/libavformat/dashenc.c
@@ -32,6 +32,7 @@
 #include "libavutil/mathematics.h"
 #include "libavutil/opt.h"
 #include "libavutil/rational.h"
+#include "libavutil/time.h"
 #include "libavutil/time_internal.h"
 
 #include "avc.h"
@@ -668,12 +669,20 @@ static void write_time(AVIOContext *out, int64_t time)
 
 static void format_date_now(char *buf, int size)
 {
-time_t t = time(NULL);
 struct tm *ptm, tmbuf;
-ptm = gmtime_r(, );
+int64_t time_us = av_gettime();
+int64_t time_ms = time_us / 1000;
+const time_t time_s = time_ms / 1000;
+int millisec = time_ms - (time_s * 1000);
+ptm = gmtime_r(_s, );
 if (ptm) {
-if (!strftime(buf, size, "%Y-%m-%dT%H:%M:%SZ", ptm))
+int len;
+if (!strftime(buf, size, "%Y-%m-%dT%H:%M:%S", ptm)) {
 buf[0] = '\0';
+return;
+}
+len = strlen(buf);
+snprintf(buf + len, size - len, ".%03dZ", millisec);
 }
 }
 
-- 
2.17.1 (Apple Git-112)

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel