Hi! Debian uses the following as a regression test for aac in mpegts: $ ffmpeg -f lavfi -i sine=d=0.1 -acodec aac -strict -2 out.ts $ ffmpeg -i out.ts (possibly simplified)
This worked in 2.8 when the default aac bitrate was 128k and the length of the output file 2632 bytes. Since f0a82124 the bitrate is 69k and the output file size 1880 bytes. For this size the mpegts probe function never returns a positive value. Attached patch fixes Debian bug 823098 here (and does not crash probetest): https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=823098 Please comment, Carl Eugen
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
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel