Fix duration calculation in the presence of a single wraping of the timeline.

Fixes issue1714.

Originally committed as revision 21485 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2010-01-27 19:37:52 +00:00
parent ad5cc780c0
commit d30a8beb99

View File

@ -1823,6 +1823,8 @@ static void av_estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset
start_time[pkt->stream_index] != AV_NOPTS_VALUE) {
end_time = pkt->pts;
duration = end_time - start_time[pkt->stream_index];
if (duration < 0)
duration += 1LL<<st->pts_wrap_bits;
if (duration > 0) {
if (st->duration == AV_NOPTS_VALUE ||
st->duration < duration)