[FFmpeg-cvslog] lavf/mpegts: Return small probe score for very short transport streams.

Carl Eugen Hoyos git at videolan.org
Sun May 1 15:40:31 CEST 2016


ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Sun May  1 15:39:13 2016 +0200| [88a849c714c17ad80d411f68e6575dfa1c8e8358] | committer: Carl Eugen Hoyos

lavf/mpegts: Return small probe score for very short transport streams.

Fixes Debian bug 823098.

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

 libavformat/mpegts.c |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index f8fe91e..1f3be96 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -2482,7 +2482,7 @@ static int mpegts_probe(AVProbeData *p)
 #define CHECK_COUNT 10
 #define CHECK_BLOCK 100
 
-    if (check_count < CHECK_COUNT)
+    if (!check_count)
         return 0;
 
     for (i = 0; i<check_count; i+=CHECK_BLOCK) {
@@ -2500,10 +2500,15 @@ static int mpegts_probe(AVProbeData *p)
 
     ff_dlog(0, "TS score: %d %d\n", sumscore, maxscore);
 
-    if      (sumscore > 6) return AVPROBE_SCORE_MAX   + sumscore - CHECK_COUNT;
-    else if (maxscore > 6) return AVPROBE_SCORE_MAX/2 + sumscore - CHECK_COUNT;
-    else
+    if        (check_count >= CHECK_COUNT && sumscore > 6) {
+        return AVPROBE_SCORE_MAX   + sumscore - CHECK_COUNT;
+    } else if (check_count >= CHECK_COUNT && maxscore > 6) {
+        return AVPROBE_SCORE_MAX/2 + sumscore - CHECK_COUNT;
+    } else if (sumscore > 6) {
+        return 2;
+    } else {
         return 0;
+    }
 }
 
 /* return the 90kHz PCR and the extension for the 27MHz PCR. return



More information about the ffmpeg-cvslog mailing list