[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