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

Stefano Sabatini stefasab at gmail.com
Sat Feb 11 02:12:18 EET 2023


On date Monday 2023-02-06 02:22:24 +0100, Stefano Sabatini wrote:
> Help debugging.
> ---
>  fftools/ffmpeg_demux.c | 21 +++++++++++++--------
>  1 file changed, 13 insertions(+), 8 deletions(-)

Will apply in a few days.

BTW are categories exposed through the CLI (for example to only enable
debug logs for a given category)?

> 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