avformat/avr: check channels and bps in probe
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 11 Nov 2013 13:51:43 +0000 (14:51 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 11 Nov 2013 13:51:43 +0000 (14:51 +0100)
Fixes probetest failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/avr.c

index 02edf45..a33134e 100644 (file)
 
 static int avr_probe(AVProbeData *p)
 {
-    if (AV_RL32(p->buf) == MKTAG('2', 'B', 'I', 'T'))
-        return AVPROBE_SCORE_EXTENSION;
-    return 0;
+    if (AV_RL32(p->buf) != MKTAG('2', 'B', 'I', 'T'))
+        return 0;
+
+    if (!AV_RB16(p->buf+12) || AV_RB16(p->buf+12) > 256) // channels
+        return AVPROBE_SCORE_EXTENSION/2;
+    if (AV_RB16(p->buf+14) > 256) // bps
+        return AVPROBE_SCORE_EXTENSION/2;
+
+    return AVPROBE_SCORE_EXTENSION;
 }
 
 static int avr_read_header(AVFormatContext *s)