From c4810fbe4f53d312ba70f251f7ee4f484cbca565 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 29 Aug 2013 01:07:57 +0200 Subject: [PATCH] avformat/utils: fix av_probe_input_buffer2() so it returns the probe score Signed-off-by: Michael Niedermayer --- libavformat/utils.c | 5 +++-- 1 file 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,