[FFmpeg-cvslog] avformat/utils: Exclude the header size when computing duration from bit_rate

Hendrik Leppkes git at videolan.org
Mon Sep 8 05:25:27 CEST 2014


ffmpeg | branch: master | Hendrik Leppkes <h.leppkes at gmail.com> | Sat Sep  6 14:59:23 2014 +0200| [e9c08e32d6b97cb7bfec29b38b3394be46dc3e70] | committer: Michael Niedermayer

avformat/utils: Exclude the header size when computing duration from bit_rate

This improves the estimate for MP3s with cover art tags.

Fixes Ticket2931

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavformat/utils.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 6e828f7..d6e3e50 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2287,7 +2287,8 @@ static void estimate_timings_from_bit_rate(AVFormatContext *ic)
     if (ic->duration == AV_NOPTS_VALUE &&
         ic->bit_rate != 0) {
         filesize = ic->pb ? avio_size(ic->pb) : 0;
-        if (filesize > 0) {
+        if (filesize > ic->data_offset) {
+            filesize -= ic->data_offset;
             for (i = 0; i < ic->nb_streams; i++) {
                 st      = ic->streams[i];
                 if (   st->time_base.num <= INT64_MAX / ic->bit_rate



More information about the ffmpeg-cvslog mailing list