diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2015-11-11 17:19:12 +0100 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2015-11-11 17:46:19 +0100 |
commit | 6770a9d6898a0c7561586dabd7a4e5b5187bed62 (patch) | |
tree | eee3911aeaae89c068132b46534f389ed344f681 | |
parent | 64e220beb5fb7f32800c1eed1e9e903022e41d19 (diff) | |
download | ffmpeg-6770a9d6898a0c7561586dabd7a4e5b5187bed62.tar.gz |
ffmpeg: Fix integer overflow with cur_dts being AV_NOPTS_VALUE
Since de0e219a8aba72de201e85385c746cd1c04be1a2 cur_dts is sometimes invalid
-rw-r--r-- | ffmpeg.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -3382,8 +3382,12 @@ static OutputStream *choose_output(void) for (i = 0; i < nb_output_streams; i++) { OutputStream *ost = output_streams[i]; - int64_t opts = av_rescale_q(ost->st->cur_dts, ost->st->time_base, + int64_t opts = ost->st->cur_dts == AV_NOPTS_VALUE ? INT64_MIN : + av_rescale_q(ost->st->cur_dts, ost->st->time_base, AV_TIME_BASE_Q); + if (ost->st->cur_dts == AV_NOPTS_VALUE) + av_log(NULL, AV_LOG_DEBUG, "cur_dts is invalid (this is harmless if it occurs once at the start per stream)\n"); + if (!ost->finished && opts < opts_min) { opts_min = opts; ost_min = ost->unavailable ? NULL : ost; |