diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-08-29 01:07:57 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-08-29 01:15:15 +0200 |
commit | c4810fbe4f53d312ba70f251f7ee4f484cbca565 (patch) | |
tree | da168ae96d4043dc74b2b06d78aaae19a1c70fd0 | |
parent | 7528fdcda32d6c4e1d056878344dc4b22c3ac93d (diff) | |
download | ffmpeg-c4810fbe4f53d312ba70f251f7ee4f484cbca565.tar.gz |
avformat/utils: fix av_probe_input_buffer2() so it returns the probe score
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/utils.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index cae81f52c0..4dd9bb7469 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -322,6 +322,7 @@ int av_probe_input_buffer2(AVIOContext *pb, AVInputFormat **fmt, unsigned char *buf = NULL; uint8_t *mime_type; int ret = 0, probe_size, buf_offset = 0; + int score = 0; if (!max_probe_size) { max_probe_size = PROBE_BUF_MAX; @@ -346,12 +347,12 @@ int av_probe_input_buffer2(AVIOContext *pb, AVInputFormat **fmt, for(probe_size= PROBE_BUF_MIN; probe_size<=max_probe_size && !*fmt; probe_size = FFMIN(probe_size<<1, FFMAX(max_probe_size, probe_size+1))) { - int score = probe_size < max_probe_size ? AVPROBE_SCORE_RETRY : 0; void *buftmp; if (probe_size < offset) { continue; } + score = probe_size < max_probe_size ? AVPROBE_SCORE_RETRY : 0; /* read probe data */ buftmp = av_realloc(buf, probe_size + AVPROBE_PADDING_SIZE); @@ -392,7 +393,7 @@ int av_probe_input_buffer2(AVIOContext *pb, AVInputFormat **fmt, /* rewind. reuse probe buffer to avoid seeking */ ret = ffio_rewind_with_probe_data(pb, &buf, pd.buf_size); - return ret; + return ret < 0 ? ret : score; } int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, |