It seems there is also a way to use strftime, only this only provides a resolution to the second. Also, the patch like it is here does not work anymore on the latest master
sorry about that.. > Op 28 jan. 2015, om 14:24 heeft wm4 <nfx...@googlemail.com> het volgende > geschreven: > > On Wed, 28 Jan 2015 14:03:06 +0100 > Matthijs Tempels <matth...@townsville.nl <mailto:matth...@townsville.nl>> > wrote: > >> From 15952b6cb38ac2f532a2f35d50e9dc4f8320c1c5 Mon Sep 17 00:00:00 2001 >> From: Matthijs Tempels <matth...@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); > > This line tries to append some stuff to buf1, but: > - you can't use a string both as source and destination for sprintf > - this can actually overflow the buf1, because strftime can fill it > completely > >> + 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 >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org <mailto:ffmpeg-devel@ffmpeg.org> >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> <http://ffmpeg.org/mailman/listinfo/ffmpeg-devel> > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org <mailto:ffmpeg-devel@ffmpeg.org> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > <http://ffmpeg.org/mailman/listinfo/ffmpeg-devel> _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel