use AVFormatContext->probesize in av_find_stream_info and raise default to 5M
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Thu, 25 Jun 2009 19:10:27 +0000 (19:10 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Thu, 25 Jun 2009 19:10:27 +0000 (19:10 +0000)
Originally committed as revision 19274 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/avformat.h
libavformat/options.c
libavformat/utils.c

index 9a1a41e..ff2a1e1 100644 (file)
@@ -22,7 +22,7 @@
 #define AVFORMAT_AVFORMAT_H
 
 #define LIBAVFORMAT_VERSION_MAJOR 52
-#define LIBAVFORMAT_VERSION_MINOR 35
+#define LIBAVFORMAT_VERSION_MINOR 36
 #define LIBAVFORMAT_VERSION_MICRO  0
 
 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
index a921b91..795d02b 100644 (file)
@@ -40,7 +40,7 @@ static const char* format_to_name(void* ptr)
 #define D AV_OPT_FLAG_DECODING_PARAM
 
 static const AVOption options[]={
-{"probesize", NULL, OFFSET(probesize), FF_OPT_TYPE_INT, 32000, 32, INT_MAX, D}, /* 32000 from mpegts.c: 1.0 second at 24Mbit/s */
+{"probesize", "set probing size", OFFSET(probesize), FF_OPT_TYPE_INT, 5000000, 32, INT_MAX, D},
 {"muxrate", "set mux rate", OFFSET(mux_rate), FF_OPT_TYPE_INT, DEFAULT, 0, INT_MAX, E},
 {"packetsize", "set packet size", OFFSET(packet_size), FF_OPT_TYPE_INT, DEFAULT, 0, INT_MAX, E},
 {"fflags", NULL, OFFSET(flags), FF_OPT_TYPE_FLAGS, DEFAULT, INT_MIN, INT_MAX, D|E, "fflags"},
index 5806b23..9325e3d 100644 (file)
@@ -1980,9 +1980,6 @@ static void compute_chapters_end(AVFormatContext *s)
     }
 }
 
-/* absolute maximum size we read until we abort */
-#define MAX_READ_SIZE        5000000
-
 #define MAX_STD_TIMEBASES (60*12+5)
 static int get_std_framerate(int i){
     if(i<60*12) return i*1001;
@@ -2081,9 +2078,9 @@ int av_find_stream_info(AVFormatContext *ic)
             }
         }
         /* we did not get all the codec info, but we read too much data */
-        if (read_size >= MAX_READ_SIZE) {
+        if (read_size >= ic->probesize) {
             ret = count;
-            av_log(ic, AV_LOG_DEBUG, "MAX_READ_SIZE reached\n");
+            av_log(ic, AV_LOG_DEBUG, "MAX_READ_SIZE:%d reached\n", ic->probesize);
             break;
         }