diff mbox series

[FFmpeg-devel] ffmpeg: Do not clip timestamps at LONG_MAX

Message ID CAB0OVGr=OnJ+_Gjui9m=62FoEwWaTBrXkHGoWc_rNhDF4DboYw@mail.gmail.com
State Accepted
Headers show
Series [FFmpeg-devel] ffmpeg: Do not clip timestamps at LONG_MAX | expand

Checks

Context Check Description
andriy/default pending
andriy/make success Make finished
andriy/make_fate success Make fate finished

Commit Message

Carl Eugen Hoyos April 13, 2020, 12:02 p.m. UTC
Hi!

Attached patch fixes ticket #8612 here.

Please comment, Carl Eugen

Comments

Paul B Mahol April 13, 2020, 1:51 p.m. UTC | #1
On 4/13/20, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
> Hi!
>
> Attached patch fixes ticket #8612 here.
>
> Please comment, Carl Eugen
>

Awesome!
Great!
LGTM!
diff mbox series

Patch

From d36feae5e072d0efc4b2b85bcf042eb102e331b4 Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Date: Mon, 13 Apr 2020 14:01:14 +0200
Subject: [PATCH] ffmpeg: Do not clip timestamps at LONG_MAX.

Fixes ticket #8612.
---
 fftools/ffmpeg.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index 3322723748..3588c4e2d6 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -1147,7 +1147,7 @@  static void do_video_out(OutputFile *of,
                 av_log(NULL, AV_LOG_DEBUG, "Not duplicating %d initial frames\n", (int)lrintf(delta0));
                 delta = duration;
                 delta0 = 0;
-                ost->sync_opts = lrint(sync_ipts);
+                ost->sync_opts = llrint(sync_ipts);
             }
         case VSYNC_CFR:
             // FIXME set to 0.5 after we fix some dts/pts bugs like in avidec.c
@@ -1158,18 +1158,18 @@  static void do_video_out(OutputFile *of,
             else if (delta > 1.1) {
                 nb_frames = lrintf(delta);
                 if (delta0 > 1.1)
-                    nb0_frames = lrintf(delta0 - 0.6);
+                    nb0_frames = llrintf(delta0 - 0.6);
             }
             break;
         case VSYNC_VFR:
             if (delta <= -0.6)
                 nb_frames = 0;
             else if (delta > 0.6)
-                ost->sync_opts = lrint(sync_ipts);
+                ost->sync_opts = llrint(sync_ipts);
             break;
         case VSYNC_DROP:
         case VSYNC_PASSTHROUGH:
-            ost->sync_opts = lrint(sync_ipts);
+            ost->sync_opts = llrint(sync_ipts);
             break;
         default:
             av_assert0(0);
-- 
2.24.1