ffmpeg: Do not clip timestamps at LONG_MAX.

Fixes ticket #8612.
This commit is contained in:
Carl Eugen Hoyos 2020-04-13 14:01:14 +02:00
parent e7eb379d98
commit d5bf704f50

View File

@ -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);