diff mbox series

[FFmpeg-devel] ffprobe: use pkt->dts to compute interval ts when pts is missing

Message ID 20220713000217.257584-1-stefasab@gmail.com
State New
Headers show
Series [FFmpeg-devel] ffprobe: use pkt->dts to compute interval ts when pts is missing | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Stefano Sabatini July 13, 2022, 12:02 a.m. UTC
For some samples the pkt->pts is always missing, use the pkt->dts
instead.

Fix trac issue http://trac.ffmpeg.org/ticket/4427.
---
 fftools/ffprobe.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/fftools/ffprobe.c b/fftools/ffprobe.c
index f156663019..8824b1c044 100644
--- a/fftools/ffprobe.c
+++ b/fftools/ffprobe.c
@@ -2844,9 +2844,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;