| @@ -91,7 +91,7 @@ char *avpriv_timecode_to_string(char *buf, const struct ff_timecode *tc, unsigne | |||||
| ss = frame_num / fps % 60; | ss = frame_num / fps % 60; | ||||
| mm = frame_num / (fps*60) % 60; | mm = frame_num / (fps*60) % 60; | ||||
| hh = frame_num / (fps*3600) % 24; | 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); | hh, mm, ss, tc->drop ? ';' : ':', ff); | ||||
| return buf; | return buf; | ||||
| } | } | ||||
| @@ -67,8 +67,8 @@ uint32_t avpriv_framenum_to_smpte_timecode(unsigned frame, int fps, int drop); | |||||
| * @param tc Timecode struct pointer | * @param tc Timecode struct pointer | ||||
| * @param frame Frame id (timecode frame is computed with tc->start+frame) | * @param frame Frame id (timecode frame is computed with tc->start+frame) | ||||
| * @return a pointer to the buf parameter | * @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); | char *avpriv_timecode_to_string(char *buf, const struct ff_timecode *tc, unsigned frame); | ||||
| @@ -731,7 +731,7 @@ static int draw_text(AVFilterContext *ctx, AVFilterBufferRef *picref, | |||||
| #if CONFIG_AVCODEC | #if CONFIG_AVCODEC | ||||
| if (dtext->tc.str) { | if (dtext->tc.str) { | ||||
| char tcbuf[sizeof("hh:mm:ss.ff")]; | |||||
| char tcbuf[16]; | |||||
| avpriv_timecode_to_string(tcbuf, &dtext->tc, dtext->frame_id++); | avpriv_timecode_to_string(tcbuf, &dtext->tc, dtext->frame_id++); | ||||
| buf = av_asprintf("%s%s", dtext->text, tcbuf); | buf = av_asprintf("%s%s", dtext->text, tcbuf); | ||||
| } | } | ||||