[FFmpeg-devel] [PATCH 1/2] ffmpeg_demux: show fixed timestamps in ts_fixup

Stefano Sabatini stefasab at gmail.com
Mon Feb 6 03:22:24 EET 2023


Help debugging.
---
 fftools/ffmpeg_demux.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c
index 4b5c62b0d5..71ce7d9a02 100644
--- a/fftools/ffmpeg_demux.c
+++ b/fftools/ffmpeg_demux.c
@@ -173,16 +173,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(NULL, AV_LOG_INFO, "demuxer -> 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",
-               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));
+#define SHOW_TS_DEBUG(tag_)                                             \
+    if (debug_ts) {                                                     \
+        av_log(NULL, 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;
@@ -225,6 +228,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)
-- 
2.25.1



More information about the ffmpeg-devel mailing list