From 57011a13d6587160a43cc1737d2ee395059c7fc9 Mon Sep 17 00:00:00 2001
From: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Date: Thu, 25 Jun 2009 19:10:27 +0000
Subject: [PATCH] use AVFormatContext->probesize in av_find_stream_info and
 raise default to 5M

Originally committed as revision 19274 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavformat/avformat.h | 2 +-
 libavformat/options.c  | 2 +-
 libavformat/utils.c    | 7 ++-----
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 9a1a41e612d..ff2a1e1ba04 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -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, \
diff --git a/libavformat/options.c b/libavformat/options.c
index a921b91c62c..795d02b73d0 100644
--- a/libavformat/options.c
+++ b/libavformat/options.c
@@ -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"},
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 5806b2382ea..9325e3dd3b0 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -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;
         }
 
-- 
GitLab