[FFmpeg-cvslog] avformat/utils: limit probe score in the id3 case only if there is a chance that data after the id3 tag will become available

Michael Niedermayer git at videolan.org
Mon May 12 20:54:29 CEST 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon May 12 20:41:32 2014 +0200| [d05588e21e4744ae6a47192dc2da2844d6934a5d] | committer: Michael Niedermayer

avformat/utils: limit probe score in the id3 case only if there is a chance that data after the id3 tag will become available

Fixes ticket3327 (sample.mp3)

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d05588e21e4744ae6a47192dc2da2844d6934a5d
---

 libavformat/utils.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 4f5b310..ce5dbdf 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -251,6 +251,8 @@ AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened,
         if (lpd.buf_size > id3len + 16) {
             lpd.buf      += id3len;
             lpd.buf_size -= id3len;
+        } else if (id3len >= PROBE_BUF_MAX) {
+            nodat = 2;
         } else
             nodat = 1;
     }
@@ -274,7 +276,7 @@ AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened,
         } else if (score == score_max)
             fmt = NULL;
     }
-    if (nodat)
+    if (nodat == 1)
         score_max = FFMIN(AVPROBE_SCORE_EXTENSION / 2 - 1, score_max);
     *score_ret = score_max;
 



More information about the ffmpeg-cvslog mailing list