avformat/thp: check fps value during probing
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 10 Nov 2013 00:42:22 +0000 (01:42 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 10 Nov 2013 01:04:08 +0000 (02:04 +0100)
Fixes probetest failure

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

index 870a558..bc4f0da 100644 (file)
@@ -47,11 +47,16 @@ typedef struct ThpDemuxContext {
 
 static int thp_probe(AVProbeData *p)
 {
+    double d;
     /* check file header */
-    if (AV_RL32(p->buf) == MKTAG('T', 'H', 'P', '\0'))
-        return AVPROBE_SCORE_MAX;
-    else
+    if (AV_RL32(p->buf) != MKTAG('T', 'H', 'P', '\0'))
         return 0;
+
+    d = av_int2float(AV_RB32(p->buf + 16));
+    if (d < 0.1 || d > 1000 || isnan(d))
+        return AVPROBE_SCORE_MAX/4;
+
+    return AVPROBE_SCORE_MAX;
 }
 
 static int thp_read_header(AVFormatContext *s)