diff --git a/libavformat/utils.c b/libavformat/utils.c index eaa912612f..20316af64b 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -675,7 +675,8 @@ int av_read_packet(AVFormatContext *s, AVPacket *pkt) memset(pd->buf+pd->buf_size, 0, AVPROBE_PADDING_SIZE); if(av_log2(pd->buf_size) != av_log2(pd->buf_size - pkt->size)){ - set_codec_from_probe_data(s, st, pd, 1); + //FIXME we dont reduce score to 0 for the case of running out of buffer space in bytes + set_codec_from_probe_data(s, st, pd, st->probe_packets > 0 ? AVPROBE_SCORE_MAX/4 : 0); if(st->codec->codec_id != CODEC_ID_PROBE){ pd->buf_size=0; av_freep(&pd->buf);