提交 57011a13 编写于 作者: B Baptiste Coudurier

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
上级 d23612ef
......@@ -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, \
......
......@@ -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"},
......
......@@ -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;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册