|
|
@@ -2681,8 +2681,17 @@ static int mpegts_read_header(AVFormatContext *s) |
|
|
|
packet_count[nb_pcrs] = nb_packets; |
|
|
|
pcrs[nb_pcrs] = pcr_h * 300 + pcr_l; |
|
|
|
nb_pcrs++; |
|
|
|
if (nb_pcrs >= 2) |
|
|
|
break; |
|
|
|
if (nb_pcrs >= 2) { |
|
|
|
if (pcrs[1] - pcrs[0] > 0) { |
|
|
|
/* the difference needs to be positive to make sense for bitrate computation */ |
|
|
|
break; |
|
|
|
} else { |
|
|
|
av_log(ts->stream, AV_LOG_WARNING, "invalid pcr pair %"PRId64" >= %"PRId64"\n", pcrs[0], pcrs[1]); |
|
|
|
pcrs[0] = pcrs[1]; |
|
|
|
packet_count[0] = packet_count[1]; |
|
|
|
nb_pcrs--; |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
finished_reading_packet(s, ts->raw_packet_size); |
|
|
|
} |
|
|
|