ffprobe: use pkt->dts to compute interval ts when pts is missing

For some samples the pkt->pts is always missing, use the pkt->dts
instead.

Fix trac issue:
http://trac.ffmpeg.org/ticket/4427
This commit is contained in:
Stefano Sabatini 2022-07-13 01:28:33 +02:00
parent aaa49a7a42
commit b6219c9114
1 changed files with 3 additions and 2 deletions

View File

@ -2874,9 +2874,10 @@ static int read_interval_packets(WriterContext *w, InputFile *ifile,
}
if (selected_streams[pkt->stream_index]) {
AVRational tb = ifile->streams[pkt->stream_index].st->time_base;
int64_t pts = pkt->pts != AV_NOPTS_VALUE ? pkt->pts : pkt->dts;
if (pkt->pts != AV_NOPTS_VALUE)
*cur_ts = av_rescale_q(pkt->pts, tb, AV_TIME_BASE_Q);
if (pts != AV_NOPTS_VALUE)
*cur_ts = av_rescale_q(pts, tb, AV_TIME_BASE_Q);
if (!has_start && *cur_ts != AV_NOPTS_VALUE) {
start = *cur_ts;