[FFmpeg-cvslog] avformat/sccdec: fix timestamp of last subtitle

Paul B Mahol git at videolan.org
Tue Dec 24 00:13:49 EET 2019


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Mon Dec 23 22:15:23 2019 +0100| [9da7536ce25e0f8e1d882d1ff83d7dbf66187b9a] | committer: Paul B Mahol

avformat/sccdec: fix timestamp of last subtitle

Fixes -c:s copy case.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9da7536ce25e0f8e1d882d1ff83d7dbf66187b9a
---

 libavformat/sccdec.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavformat/sccdec.c b/libavformat/sccdec.c
index 399be76668..37570e0fb0 100644
--- a/libavformat/sccdec.c
+++ b/libavformat/sccdec.c
@@ -63,6 +63,7 @@ static int scc_read_header(AVFormatContext *s)
     SCCContext *scc = s->priv_data;
     AVStream *st = avformat_new_stream(s, NULL);
     char line[4096], line2[4096];
+    int64_t ts_start, ts_end;
     int count = 0, ret = 0;
     ptrdiff_t len2, len;
     uint8_t out[4096];
@@ -81,7 +82,6 @@ static int scc_read_header(AVFormatContext *s)
         char *saveptr = NULL, *lline;
         int hh1, mm1, ss1, fs1, i;
         int hh2, mm2, ss2, fs2;
-        int64_t ts_start, ts_end;
         AVPacket *sub;
 
         if (count == 0) {
@@ -142,8 +142,10 @@ try_again:
         line2[0] = 0;
     }
 
-    if (line[0])
+    if (line[0]) {
+        ts_start = ts_end;
         goto try_again;
+    }
 
     ff_subtitles_queue_finalize(s, &scc->q);
 



More information about the ffmpeg-cvslog mailing list