[FFmpeg-devel] [PATCH 19/20] avformat/lrcenc: Unify writing timestamps

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Sat Oct 2 00:08:36 EEST 2021


Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavformat/lrcenc.c | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

diff --git a/libavformat/lrcenc.c b/libavformat/lrcenc.c
index 21cb3860ab..4fa14ea427 100644
--- a/libavformat/lrcenc.c
+++ b/libavformat/lrcenc.c
@@ -111,19 +111,14 @@ static int lrc_write_packet(AVFormatContext *s, AVPacket *pkt)
                        "Subtitle starts with '[', may cause problems with LRC format.\n");
             }
 
-            if(pkt->pts >= 0) {
-                avio_printf(s->pb, "[%02"PRId64":%02"PRId64".%02"PRId64"]",
-                            (pkt->pts / 6000),
-                            ((pkt->pts / 100) % 60),
-                            (pkt->pts % 100));
-            } else {
-                /* Offset feature of LRC can easily make pts negative,
-                 * we just output it directly and let the player drop it. */
-                avio_printf(s->pb, "[-%02"PRId64":%02"PRId64".%02"PRId64"]",
-                            (-pkt->pts) / 6000,
-                            ((-pkt->pts) / 100) % 60,
-                            (-pkt->pts) % 100);
-            }
+            /* Offset feature of LRC can easily make pts negative,
+             * we just output it directly and let the player drop it. */
+            avio_write(s->pb, "[-", 1 + (pkt->pts < 0));
+            avio_printf(s->pb, "%02"PRIu64":%02"PRIu64".%02"PRIu64"]",
+                        (FFABS64U(pkt->pts) / 6000),
+                        ((FFABS64U(pkt->pts) / 100) % 60),
+                        (FFABS64U(pkt->pts) % 100));
+
             avio_write(s->pb, line, size);
             avio_w8(s->pb, '\n');
             line = next_line;
-- 
2.30.2



More information about the ffmpeg-devel mailing list