Browse Source

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

Fixes Debian bug 823098.

(cherry picked from commit 88a849c714)
tags/n3.0.3
Carl Eugen Hoyos James Almer 9 years ago
parent
commit
e675926a4f
1 changed files with 9 additions and 4 deletions
  1. +9
    -4
      libavformat/mpegts.c

+ 9
- 4
libavformat/mpegts.c View File

@@ -2441,7 +2441,7 @@ static int mpegts_probe(AVProbeData *p)
#define CHECK_COUNT 10 #define CHECK_COUNT 10
#define CHECK_BLOCK 100 #define CHECK_BLOCK 100


if (check_count < CHECK_COUNT)
if (!check_count)
return 0; return 0;


for (i = 0; i<check_count; i+=CHECK_BLOCK) { for (i = 0; i<check_count; i+=CHECK_BLOCK) {
@@ -2459,10 +2459,15 @@ static int mpegts_probe(AVProbeData *p)


ff_dlog(0, "TS score: %d %d\n", sumscore, maxscore); 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 0;
}
} }


/* return the 90kHz PCR and the extension for the 27MHz PCR. return /* return the 90kHz PCR and the extension for the 27MHz PCR. return


Loading…
Cancel
Save