[FFmpeg-cvslog] ffmpeg_demux: show fixed timestamps in ts_fixup

Stefano Sabatini git at videolan.org
Tue Feb 28 23:32:03 EET 2023


ffmpeg | branch: master | Stefano Sabatini <stefasab at gmail.com> | Mon Feb  6 01:59:02 2023 +0100| [9998c31044cb05eb9392ce2fdb2b3a281e47e0da] | committer: Stefano Sabatini

ffmpeg_demux: show fixed timestamps in ts_fixup

Help debugging.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9998c31044cb05eb9392ce2fdb2b3a281e47e0da
---

 fftools/ffmpeg_demux.c | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c
index 2033c1de54..db05ddb8e9 100644
--- a/fftools/ffmpeg_demux.c
+++ b/fftools/ffmpeg_demux.c
@@ -194,15 +194,19 @@ static void ts_fixup(Demuxer *d, AVPacket *pkt, int *repeat_pict)
     const int64_t start_time = ifile->start_time_effective;
     int64_t duration;
 
-    if (debug_ts) {
-        av_log(ist, AV_LOG_INFO, "demuxer -> type:%s "
-               "pkt_pts:%s pkt_pts_time:%s pkt_dts:%s pkt_dts_time:%s duration:%s duration_time:%s\n",
-               av_get_media_type_string(ist->st->codecpar->codec_type),
-               av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &ist->st->time_base),
-               av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &ist->st->time_base),
-               av_ts2str(pkt->duration), av_ts2timestr(pkt->duration, &ist->st->time_base));
+#define SHOW_TS_DEBUG(tag_)                                             \
+    if (debug_ts) {                                                     \
+        av_log(ist, AV_LOG_INFO, "%s -> ist_index:%d:%d type:%s "       \
+               "pkt_pts:%s pkt_pts_time:%s pkt_dts:%s pkt_dts_time:%s duration:%s duration_time:%s\n", \
+               tag_, ifile->index, pkt->stream_index,                   \
+               av_get_media_type_string(ist->st->codecpar->codec_type), \
+               av_ts2str(pkt->pts), av_ts2timestr(pkt->pts, &ist->st->time_base), \
+               av_ts2str(pkt->dts), av_ts2timestr(pkt->dts, &ist->st->time_base), \
+               av_ts2str(pkt->duration), av_ts2timestr(pkt->duration, &ist->st->time_base)); \
     }
 
+    SHOW_TS_DEBUG("demuxer");
+
     if (!ist->wrap_correction_done && start_time != AV_NOPTS_VALUE &&
         ist->st->pts_wrap_bits < 64) {
         int64_t stime, stime2;
@@ -245,6 +249,8 @@ static void ts_fixup(Demuxer *d, AVPacket *pkt, int *repeat_pict)
     if (ist->st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO &&
         av_stream_get_parser(ist->st))
         *repeat_pict = av_stream_get_parser(ist->st)->repeat_pict;
+
+    SHOW_TS_DEBUG("demuxer+tsfixup");
 }
 
 static void thread_set_name(InputFile *f)



More information about the ffmpeg-cvslog mailing list