When looking for the last packet in each

stream, so as to calculate the duration, don't stop
as soon as all streams have seen at least one packet.
Otherwise the duration will be shorter than it
should be.  We must keep reading to the end-of-file.
patch by neilb suse de

Originally committed as revision 10139 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Neil Brown 2007-08-18 00:52:05 +00:00 committed by Michael Niedermayer
parent bf494092b0
commit d6a0906ad1

View File

@ -1537,14 +1537,6 @@ static void av_estimate_timings_from_pts(AVFormatContext *ic, offset_t old_offse
for(;;) {
if (read_size >= DURATION_MAX_READ_SIZE)
break;
/* if all info is available, we can stop */
for(i = 0;i < ic->nb_streams; i++) {
st = ic->streams[i];
if (st->duration == AV_NOPTS_VALUE)
break;
}
if (i == ic->nb_streams)
break;
ret = av_read_packet(ic, pkt);
if (ret != 0)