diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2010-05-01 13:50:49 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2010-05-01 13:50:49 +0000 |
commit | dd8db7f6205d27e6aac02addb4edc74efbd9be5b (patch) | |
tree | 8b2e90b761440caa865d673d2632d47a753c81c6 | |
parent | aca523bf78ad83399c819f7bd3687143243b8e33 (diff) | |
download | mpv-dd8db7f6205d27e6aac02addb4edc74efbd9be5b.tar.bz2 mpv-dd8db7f6205d27e6aac02addb4edc74efbd9be5b.tar.xz |
Use av_probe_input_format2 and avoid accepting detection
while the score is still low.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31110 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | libmpdemux/demux_lavf.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libmpdemux/demux_lavf.c b/libmpdemux/demux_lavf.c index 8bf64ff31a..f553ae7ea3 100644 --- a/libmpdemux/demux_lavf.c +++ b/libmpdemux/demux_lavf.c @@ -135,6 +135,7 @@ static int lavf_check_file(demuxer_t *demuxer){ lavf_priv_t *priv; int probe_data_size = 0; int read_size = INITIAL_PROBE_SIZE; + int score; if(!demuxer->priv) demuxer->priv=calloc(sizeof(lavf_priv_t),1); @@ -170,11 +171,13 @@ static int lavf_check_file(demuxer_t *demuxer){ avpd.filename += 9; avpd.buf_size= probe_data_size; - priv->avif= av_probe_input_format(&avpd, probe_data_size > 0); + score = 0; + priv->avif= av_probe_input_format2(&avpd, probe_data_size > 0, &score); read_size = FFMIN(2*read_size, PROBE_BUF_SIZE - probe_data_size); } while ((demuxer->desc->type != DEMUXER_TYPE_LAVF_PREFERRED || probe_data_size < SMALL_MAX_PROBE_SIZE) && - !priv->avif && read_size > 0 && probe_data_size < PROBE_BUF_SIZE); + score < AVPROBE_SCORE_MAX / 4 && + read_size > 0 && probe_data_size < PROBE_BUF_SIZE); av_free(avpd.buf); if(!priv->avif){ |