# HG changeset patch # User reimar # Date 1272721849 0 # Node ID ae2e8f0d4625599d11c30923b18e821610ceec76 # Parent a4658190b9deddb385a512b5a2a3056e7b4bc941 Use av_probe_input_format2 and avoid accepting detection while the score is still low. diff -r a4658190b9de -r ae2e8f0d4625 libmpdemux/demux_lavf.c --- a/libmpdemux/demux_lavf.c Fri Apr 30 21:18:17 2010 +0000 +++ b/libmpdemux/demux_lavf.c Sat May 01 13:50:49 2010 +0000 @@ -135,6 +135,7 @@ 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 @@ 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){