There is no guarantee that every stream will

have a start_time found (though it is likely),
so check that the start_time is defined before
calculating a duration.
 (patch by neilb suse de)

Originally committed as revision 10138 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Neil Brown 2007-08-18 00:45:44 +00:00 committed by Michael Niedermayer
parent df886e7e02
commit bf494092b0

View File

@ -1551,7 +1551,8 @@ static void av_estimate_timings_from_pts(AVFormatContext *ic, offset_t old_offse
break;
read_size += pkt->size;
st = ic->streams[pkt->stream_index];
if (pkt->pts != AV_NOPTS_VALUE) {
if (pkt->pts != AV_NOPTS_VALUE &&
st->start_time != AV_NOPTS_VALUE) {
end_time = pkt->pts;
duration = end_time - st->start_time;
if (duration > 0) {