]> git.sesse.net Git - ffmpeg/commitdiff
lavf: Switch bitrate to 64bit unless compatibility with avconv was requested.
authorCarl Eugen Hoyos <cehoyos@ag.or.at>
Tue, 15 Sep 2015 15:29:38 +0000 (17:29 +0200)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Tue, 15 Sep 2015 16:02:47 +0000 (18:02 +0200)
Based on a patch by Steve Swanson, swanysteve at gmail.

Fixes ticket #2089.

doc/APIchanges
libavformat/avformat.h
libavformat/dump.c
libavformat/g729dec.c
libavformat/utils.c
libavformat/version.h

index e5cd3e43b7c4305aa9ca960719d85c828a6eec08..7cde366b0893fe407d73c690479e79b13ce73931 100644 (file)
@@ -15,6 +15,10 @@ libavutil:     2015-08-28
 
 API changes, most recent first:
 
+2015-09-15 - lavf 57.1.100 - avformat.h
+  bit_rate was changed to 64bit, make sure you update any
+  printf() or other type sensitive code
+
 2015-09-15 - lavc 57.2.100 - avcodec.h
   bit_rate/rc_max_rate/rc_min_rate were changed to 64bit, make sure you update
   any printf() or other type sensitive code
index b7f18c16143cf77a994a4df4e995f1e75b53e664..825e6365e5f277456e1f1340c9759635916376eb 100644 (file)
@@ -1358,7 +1358,11 @@ typedef struct AVFormatContext {
      * available. Never set it directly if the file_size and the
      * duration are known as FFmpeg can compute it automatically.
      */
+#if AV_HAVE_INCOMPATIBLE_LIBAV_ABI
     int bit_rate;
+#else
+    int64_t bit_rate;
+#endif
 
     unsigned int packet_size;
     int max_delay;
index 705da8214898e6e60c8ac8f7a831d67bed8e048c..7ed766554bd0547b1a42439ee222b2945e60a55c 100644 (file)
@@ -518,7 +518,7 @@ void av_dump_format(AVFormatContext *ic, int index,
         }
         av_log(NULL, AV_LOG_INFO, ", bitrate: ");
         if (ic->bit_rate)
-            av_log(NULL, AV_LOG_INFO, "%d kb/s", ic->bit_rate / 1000);
+            av_log(NULL, AV_LOG_INFO, "%"PRId64" kb/s", (int64_t)ic->bit_rate / 1000);
         else
             av_log(NULL, AV_LOG_INFO, "N/A");
         av_log(NULL, AV_LOG_INFO, "\n");
index 794558ef10a5bb64b06d929b6a9bca6a06d9817d..349a014340bb86cb646cb7e9ea7c237848f6d36b 100644 (file)
@@ -57,7 +57,7 @@ static int g729_read_header(AVFormatContext *s)
     } else if (s->bit_rate == 8000) {
         st->codec->block_align = 10;
     } else {
-        av_log(s, AV_LOG_ERROR, "Only 8000 b/s and 6400 b/s bitrates are supported. Provided: %d b/s\n", s->bit_rate);
+        av_log(s, AV_LOG_ERROR, "Only 8000 b/s and 6400 b/s bitrates are supported. Provided: %"PRId64" b/s\n", (int64_t)s->bit_rate);
         return AVERROR_INVALIDDATA;
     }
 
index 24eacf3967560ce30e790f7aee69343a990c1db8..96a1e8642afaaf8c19528c7ad0e49aaee4a1cd45 100644 (file)
@@ -2369,7 +2369,7 @@ static void update_stream_timings(AVFormatContext *ic)
         /* compute the bitrate */
         double bitrate = (double) filesize * 8.0 * AV_TIME_BASE /
                          (double) ic->duration;
-        if (bitrate >= 0 && bitrate <= INT_MAX)
+        if (bitrate >= 0 && (!AV_HAVE_INCOMPATIBLE_LIBAV_ABI || bitrate <= INT_MAX))
             ic->bit_rate = bitrate;
     }
 }
@@ -2614,10 +2614,10 @@ static void estimate_timings(AVFormatContext *ic, int64_t old_offset)
                     (double) st->duration   / AV_TIME_BASE);
         }
         av_log(ic, AV_LOG_TRACE,
-                "stream: start_time: %0.3f duration: %0.3f bitrate=%d kb/s\n",
+                "stream: start_time: %0.3f duration: %0.3f bitrate=%"PRId64" kb/s\n",
                 (double) ic->start_time / AV_TIME_BASE,
                 (double) ic->duration   / AV_TIME_BASE,
-                ic->bit_rate / 1000);
+                (int64_t)ic->bit_rate / 1000);
     }
 }
 
index 18be8b26b6171b27123d616acf454e3b32f0f916..344490818064adb78088d55d3b6f849d4d878639 100644 (file)
@@ -30,7 +30,7 @@
 #include "libavutil/version.h"
 
 #define LIBAVFORMAT_VERSION_MAJOR  57
-#define LIBAVFORMAT_VERSION_MINOR   0
+#define LIBAVFORMAT_VERSION_MINOR   1
 #define LIBAVFORMAT_VERSION_MICRO 100
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \