[FFmpeg-cvslog] ffprobe: use pkt->dts to compute interval ts when pts is missing
Stefano Sabatini
git at videolan.org
Wed Jan 25 02:18:59 EET 2023
ffmpeg | branch: master | Stefano Sabatini <stefasab at gmail.com> | Wed Jul 13 01:28:33 2022 +0200| [b6219c91144e665c98ceda9189e5f2bf75232fa8] | committer: Stefano Sabatini
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
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b6219c91144e665c98ceda9189e5f2bf75232fa8
---
fftools/ffprobe.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index b9310a2d25..619ea9a602 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -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;
More information about the ffmpeg-cvslog
mailing list