From 6ca3d34ff8490fb1efa0cc3dc06b6bbb58151c53 Mon Sep 17 00:00:00 2001 From: Jun Zhao Date: Sun, 29 Sep 2019 11:58:43 +0800 Subject: [PATCH] lavf/utils: support duration estimate method dump add new function duration_estimate_name to dump duration estimate method, it's will help to debug some duration issue. Reviewed-by: Michael Niedermayer Signed-off-by: Jun Zhao --- libavformat/utils.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index 112d19b86e..60f0229adc 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2934,6 +2934,18 @@ skip_duration_calc: } } +/* 1:1 map to AVDurationEstimationMethod */ +static const char *duration_name[] = { + [AVFMT_DURATION_FROM_PTS] = "pts", + [AVFMT_DURATION_FROM_STREAM] = "stream", + [AVFMT_DURATION_FROM_BITRATE] = "bit rate", +}; + +static const char *duration_estimate_name(enum AVDurationEstimationMethod method) +{ + return duration_name[method]; +} + static void estimate_timings(AVFormatContext *ic, int64_t old_offset) { int64_t file_size; @@ -2979,9 +2991,10 @@ static void estimate_timings(AVFormatContext *ic, int64_t old_offset) (double) st->duration * av_q2d(st->time_base)); } av_log(ic, AV_LOG_TRACE, - "format: start_time: %0.3f duration: %0.3f bitrate=%"PRId64" kb/s\n", + "format: start_time: %0.3f duration: %0.3f (estimate from %s) bitrate=%"PRId64" kb/s\n", (double) ic->start_time / AV_TIME_BASE, (double) ic->duration / AV_TIME_BASE, + duration_estimate_name(ic->duration_estimation_method), (int64_t)ic->bit_rate / 1000); } }