mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-24 12:09:55 +00:00
avformat/dashenc: Format xs:datetime in millisecond precision
For low latency streaming even milliseconds matter!
This commit is contained in:
parent
62f8d27ef1
commit
b6d96a6bcc
@ -32,6 +32,7 @@
|
|||||||
#include "libavutil/mathematics.h"
|
#include "libavutil/mathematics.h"
|
||||||
#include "libavutil/opt.h"
|
#include "libavutil/opt.h"
|
||||||
#include "libavutil/rational.h"
|
#include "libavutil/rational.h"
|
||||||
|
#include "libavutil/time.h"
|
||||||
#include "libavutil/time_internal.h"
|
#include "libavutil/time_internal.h"
|
||||||
|
|
||||||
#include "avc.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)
|
static void format_date_now(char *buf, int size)
|
||||||
{
|
{
|
||||||
time_t t = time(NULL);
|
|
||||||
struct tm *ptm, tmbuf;
|
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 (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';
|
buf[0] = '\0';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
len = strlen(buf);
|
||||||
|
snprintf(buf + len, size - len, ".%03dZ", millisec);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user