From 831f6cd6059222aaa68eeab52fd63b4555dc38b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cl=C3=A9ment=20B=C5=93sch?= <ubitux@gmail.com>
Date: Mon, 26 Dec 2011 11:06:00 +0100
Subject: [PATCH] timecode: fix drop frame in avpriv_timecode_to_string().

---
 libavcodec/timecode.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/libavcodec/timecode.c b/libavcodec/timecode.c
index fd996edfadb..2f7bd64e399 100644
--- a/libavcodec/timecode.c
+++ b/libavcodec/timecode.c
@@ -83,13 +83,14 @@ char *avpriv_timecode_to_string(char *buf, const struct ff_timecode *tc, unsigne
 {
     int frame_num = tc->start + frame;
     int fps = (tc->rate.num + tc->rate.den/2) / tc->rate.den;
-    int ff  = frame_num % fps;
-    int ss  = frame_num / fps        % 60;
-    int mm  = frame_num / (fps*60)   % 60;
-    int hh  = frame_num / (fps*3600) % 24;
+    int hh, mm, ss, ff;
 
     if (tc->drop)
         frame_num = avpriv_framenum_to_drop_timecode(frame_num);
+    ff = frame_num % fps;
+    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",
              hh, mm, ss, tc->drop ? ';' : ':', ff);
     return buf;
-- 
GitLab