diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-09-05 05:16:44 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-09-05 05:16:44 +0200 |
commit | 038a465efc737b331e39869b3f31a4997b6ee12d (patch) | |
tree | 8d7451e04947d0d24b4ec29e4be62dcda892e658 | |
parent | 6f8b1fcd4b34b636852090fdef05e7c2bbe3b88a (diff) | |
download | ffmpeg-038a465efc737b331e39869b3f31a4997b6ee12d.tar.gz |
vf_drawtext: make strftime work without localtime_r()
modern OS should have localtime_r() or return thread locals on localtime() hopefully
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavfilter/vf_drawtext.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c index a2a772404d..b3686214f0 100644 --- a/libavfilter/vf_drawtext.c +++ b/libavfilter/vf_drawtext.c @@ -318,10 +318,6 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) } dtext->tabsize *= glyph->advance; -#if !HAVE_LOCALTIME_R - av_log(ctx, AV_LOG_WARNING, "strftime() expansion unavailable!\n"); -#endif - return 0; } @@ -574,7 +570,6 @@ static int draw_text(AVFilterContext *ctx, AVFilterBufferRef *picref, Glyph *glyph = NULL, *prev_glyph = NULL; Glyph dummy = { 0 }; -#if HAVE_LOCALTIME_R time_t now = time(0); struct tm ltime; uint8_t *buf = dtext->expanded_text; @@ -588,7 +583,12 @@ static int draw_text(AVFilterContext *ctx, AVFilterBufferRef *picref, buf = av_malloc(buf_size); } +#if HAVE_LOCALTIME_R localtime_r(&now, <ime); +#else + if(strchr(dtext->text, '%')) + ltime= *localtime(&now); +#endif do { *buf = 1; @@ -601,7 +601,6 @@ static int draw_text(AVFilterContext *ctx, AVFilterBufferRef *picref, return AVERROR(ENOMEM); text = dtext->expanded_text = buf; dtext->expanded_text_size = buf_size; -#endif if ((len = strlen(text)) > dtext->nb_positions) { if (!(dtext->positions = av_realloc(dtext->positions, len*sizeof(*dtext->positions)))) |