mirror of https://git.ffmpeg.org/ffmpeg.git
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:
parent
bf494092b0
commit
d6a0906ad1
|
@ -1537,14 +1537,6 @@ static void av_estimate_timings_from_pts(AVFormatContext *ic, offset_t old_offse
|
||||||
for(;;) {
|
for(;;) {
|
||||||
if (read_size >= DURATION_MAX_READ_SIZE)
|
if (read_size >= DURATION_MAX_READ_SIZE)
|
||||||
break;
|
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);
|
ret = av_read_packet(ic, pkt);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
|
|
Loading…
Reference in New Issue