[FFmpeg-devel] Patch for timestamp pattern in filename
Matthijs Tempels
matthijs at townsville.nl
Wed Jan 28 14:03:06 CET 2015
From 15952b6cb38ac2f532a2f35d50e9dc4f8320c1c5 Mon Sep 17 00:00:00 2001
From: Matthijs Tempels <matthijs at townsville.nl>
Date: Wed, 28 Jan 2015 13:59:54 +0100
Subject: [PATCH] Added the %t option to the filename pattern to add a
yyyyMMdd_HHmmssfff pattern to the filename
---
libavformat/utils.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/libavformat/utils.c b/libavformat/utils.c
index f6df49b..b57136a 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -3805,11 +3805,13 @@ int av_get_frame_filename(char *buf, int buf_size, const char *path, int number)
{
const char *p;
char *q, buf1[20], c;
- int nd, len, percentd_found;
+ int nd, len, percentd_found, percentt_found;
+ struct timeval tv;
q = buf;
p = path;
percentd_found = 0;
+ percentt_found = 0;
for (;;) {
c = *p++;
if (c == '\0')
@@ -3836,6 +3838,20 @@ int av_get_frame_filename(char *buf, int buf_size, const char *path, int number)
memcpy(q, buf1, len);
q += len;
break;
+ case 't':
+ if (percentt_found)
+ goto fail;
+ percentt_found = 1;
+ gettimeofday(&tv, NULL);
+ int milli = tv.tv_usec / 1000;
+ strftime(buf1, sizeof(buf1), "%Y%m%d_%H%M%S", localtime(&tv.tv_sec));
+ sprintf(buf1, "%s%03d", buf1, milli);
+ len = strlen(buf1);
+ if ((q - buf + len) > buf_size - 1)
+ goto fail;
+ memcpy(q, buf1, len);
+ q += len;
+ break;
default:
goto fail;
}
--
2.1.0
More information about the ffmpeg-devel
mailing list