From 4d3c5d3b6583e2015a88c2e2cc73649173341497 Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Sat, 30 Mar 2013 08:24:51 +0100 Subject: [PATCH] Do not show "Estimating duration from bitrate" warning if no duration was estimated. --- libavformat/utils.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index d0393f9db2..0a12d8ab1d 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2304,7 +2304,7 @@ static void fill_all_stream_timings(AVFormatContext *ic) static void estimate_timings_from_bit_rate(AVFormatContext *ic) { int64_t filesize, duration; - int bit_rate, i; + int bit_rate, i, show_warning = 0; AVStream *st; /* if bit_rate is already set, we believe it */ @@ -2329,10 +2329,13 @@ static void estimate_timings_from_bit_rate(AVFormatContext *ic) && st->duration == AV_NOPTS_VALUE) { duration= av_rescale(8*filesize, st->time_base.den, ic->bit_rate*(int64_t)st->time_base.num); st->duration = duration; + show_warning = 1; } } } } + if (show_warning) + av_log(ic, AV_LOG_WARNING, "Estimating duration from bitrate, this may be inaccurate\n"); } #define DURATION_MAX_READ_SIZE 250000LL @@ -2440,7 +2443,6 @@ static void estimate_timings(AVFormatContext *ic, int64_t old_offset) fill_all_stream_timings(ic); ic->duration_estimation_method = AVFMT_DURATION_FROM_STREAM; } else { - av_log(ic, AV_LOG_WARNING, "Estimating duration from bitrate, this may be inaccurate\n"); /* less precise: use bitrate info */ estimate_timings_from_bit_rate(ic); ic->duration_estimation_method = AVFMT_DURATION_FROM_BITRATE;