avformat/mpegenc: Fix integer overflow with AV_NOPTS_VALUE

Fixes: signed integer overflow: -9223372036854775808 - 45000 cannot be represented in type 'long'
Fixes: ticket8187

Found-by: Suhwan
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit 9874815b1a)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2020-02-16 18:51:52 +01:00
parent 52510a50f7
commit ab9074c1c3
1 changed files with 1 additions and 1 deletions

View File

@ -1215,7 +1215,7 @@ static int mpeg_mux_write_packet(AVFormatContext *ctx, AVPacket *pkt)
if (s->is_dvd) { if (s->is_dvd) {
// min VOBU length 0.4 seconds (mpucoder) // min VOBU length 0.4 seconds (mpucoder)
if (is_iframe && if (is_iframe &&
(s->packet_number == 0 || (s->packet_number == 0 || pts != AV_NOPTS_VALUE &&
(pts - stream->vobu_start_pts >= 36000))) { (pts - stream->vobu_start_pts >= 36000))) {
stream->bytes_to_iframe = av_fifo_size(stream->fifo); stream->bytes_to_iframe = av_fifo_size(stream->fifo);
stream->align_iframe = 1; stream->align_iframe = 1;