[FFmpeg-cvslog] timecode: set a fixed buffer size of 16B for tc string.
Clément Bœsch
git at videolan.org
Wed Jan 11 18:18:27 CET 2012
ffmpeg | branch: master | Clément Bœsch <clement.boesch at smartjog.com> | Wed Jan 11 17:51:57 2012 +0100| [98aafc5bbfa94cee889399d80177bca10ca202aa] | committer: Clément Bœsch
timecode: set a fixed buffer size of 16B for tc string.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=98aafc5bbfa94cee889399d80177bca10ca202aa
---
libavcodec/timecode.c | 2 +-
libavcodec/timecode.h | 4 ++--
libavfilter/vf_drawtext.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavcodec/timecode.c b/libavcodec/timecode.c
index 420b276..95aed96 100644
--- a/libavcodec/timecode.c
+++ b/libavcodec/timecode.c
@@ -91,7 +91,7 @@ char *avpriv_timecode_to_string(char *buf, const struct ff_timecode *tc, unsigne
ss = frame_num / fps % 60;
mm = frame_num / (fps*60) % 60;
hh = frame_num / (fps*3600) % 24;
- snprintf(buf, sizeof("hh:mm:ss.ff"), "%02d:%02d:%02d%c%02d",
+ snprintf(buf, 16, "%02d:%02d:%02d%c%02d",
hh, mm, ss, tc->drop ? ';' : ':', ff);
return buf;
}
diff --git a/libavcodec/timecode.h b/libavcodec/timecode.h
index 50ea313..a2b6b09 100644
--- a/libavcodec/timecode.h
+++ b/libavcodec/timecode.h
@@ -67,8 +67,8 @@ uint32_t avpriv_framenum_to_smpte_timecode(unsigned frame, int fps, int drop);
* @param tc Timecode struct pointer
* @param frame Frame id (timecode frame is computed with tc->start+frame)
* @return a pointer to the buf parameter
- * @note buf must have enough space to store the timecode representation
- * (sizeof("hh:mm:ss.ff"))
+ * @note buf must have enough space to store the timecode representation: 16
+ * bytes is the minimum required size.
*/
char *avpriv_timecode_to_string(char *buf, const struct ff_timecode *tc, unsigned frame);
diff --git a/libavfilter/vf_drawtext.c b/libavfilter/vf_drawtext.c
index 0de5b9f..d0d854b 100644
--- a/libavfilter/vf_drawtext.c
+++ b/libavfilter/vf_drawtext.c
@@ -731,7 +731,7 @@ static int draw_text(AVFilterContext *ctx, AVFilterBufferRef *picref,
#if CONFIG_AVCODEC
if (dtext->tc.str) {
- char tcbuf[sizeof("hh:mm:ss.ff")];
+ char tcbuf[16];
avpriv_timecode_to_string(tcbuf, &dtext->tc, dtext->frame_id++);
buf = av_asprintf("%s%s", dtext->text, tcbuf);
}
More information about the ffmpeg-cvslog
mailing list