Use av_sat_sub64() when updating pts by duration.

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Dale Curtis 2020-05-14 14:33:55 -07:00 committed by Michael Niedermayer
parent 9d24f293e7
commit fc54db3265

View File

@ -191,7 +191,7 @@ static int theora_packet(AVFormatContext *s, int idx)
pts = theora_gptopts(s, idx, os->granule, NULL);
if (pts != AV_NOPTS_VALUE)
pts -= duration;
pts = av_sat_sub64(pts, duration);
os->lastpts = os->lastdts = pts;
if(s->streams[idx]->start_time == AV_NOPTS_VALUE) {
s->streams[idx]->start_time = os->lastpts;