From: Limin Wang <lance.lmw...@gmail.com> Signed-off-by: Limin Wang <lance.lmw...@gmail.com> --- libavformat/srtenc.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/libavformat/srtenc.c b/libavformat/srtenc.c index d811a4da0e..ca127354ed 100644 --- a/libavformat/srtenc.c +++ b/libavformat/srtenc.c @@ -34,6 +34,20 @@ typedef struct SRTContext{ unsigned index; } SRTContext; +static void srt_write_time(AVIOContext *pb, int64_t millisec) +{ + int64_t sec = millisec / 1000; + int64_t min = sec / 60; + int64_t hour = min / 60;; + + millisec -= 1000 * sec; + sec -= 60 * min; + min -= 60 * hour; + + avio_printf(pb, "%02"PRId64":%02"PRId64":%02"PRId64",%03"PRId64"", + hour, min, sec, millisec); +} + static int srt_write_header(AVFormatContext *avf) { SRTContext *srt = avf->priv_data; @@ -85,12 +99,10 @@ FF_ENABLE_DEPRECATION_WARNINGS return 0; } e = s + d; - avio_printf(avf->pb, "%d\n%02d:%02d:%02d,%03d --> %02d:%02d:%02d,%03d", - srt->index, - (int)(s / 3600000), (int)(s / 60000) % 60, - (int)(s / 1000) % 60, (int)(s % 1000), - (int)(e / 3600000), (int)(e / 60000) % 60, - (int)(e / 1000) % 60, (int)(e % 1000)); + avio_printf(avf->pb, "%d\n", srt->index); + srt_write_time(avf->pb, s); + avio_printf(avf->pb, " --> "); + srt_write_time(avf->pb, e); if (p) avio_printf(avf->pb, " X1:%03d X2:%03d Y1:%03d Y2:%03d", x1, x2, y1, y2); -- 2.21.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".