diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-08-29 01:07:57 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-02-04 05:15:36 +0100 |
commit | c06f8bac204a2c8274533f183ad61d2a985f693d (patch) | |
tree | 8903f3b15b90655bb8580b90443f9aaa16c1d0f8 | |
parent | af74599e66b1313bf8e73e14dcd41e60e5e5c8dc (diff) | |
download | ffmpeg-c06f8bac204a2c8274533f183ad61d2a985f693d.tar.gz |
avformat/utils: fix av_probe_input_buffer2() so it returns the probe score
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit c4810fbe4f53d312ba70f251f7ee4f484cbca565)
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 1be62f19c3..89bc141fe4 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -436,6 +436,7 @@ int av_probe_input_buffer(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; @@ -458,12 +459,12 @@ int av_probe_input_buffer(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); @@ -504,7 +505,7 @@ int av_probe_input_buffer(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; } /* open input file and probe the format if necessary */ |