Commit b6d96a6b authored by Karthick J's avatar Karthick J

avformat/dashenc: Format xs:datetime in millisecond precision

For low latency streaming even milliseconds matter!
parent 62f8d27e
......@@ -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(&t, &tmbuf);
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(&time_s, &tmbuf);
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);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment