|
|
@ -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); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|