diff raw.c @ 1768:7598146fe1cc libavformat

add read_probe function to raw ac3 demuxer
author jbr
date Thu, 08 Feb 2007 23:41:08 +0000
parents 5d72afc6c8aa
children 4b8313d5b23b
line wrap: on
line diff
--- a/raw.c	Thu Feb 08 20:54:12 2007 +0000
+++ b/raw.c	Thu Feb 08 23:41:08 2007 +0000
@@ -406,6 +406,22 @@
     return 0;
 }
 
+static int ac3_probe(AVProbeData *p)
+{
+    int score=0;
+
+    if(p->buf_size < 6)
+        return 0;
+
+    if((p->buf[0] == 0x0B) && (p->buf[1] == 0x77) &&    // sync word
+       ((p->buf[4] >> 6) != 3) &&                       // fscod
+       ((p->buf[5] >> 3) <= 16)) {                      // bsid
+        score = AVPROBE_SCORE_MAX / 2 + 10;
+    }
+
+    return score;
+}
+
 AVInputFormat shorten_demuxer = {
     "shn",
     "raw shorten",
@@ -450,7 +466,7 @@
     "ac3",
     "raw ac3",
     0,
-    NULL,
+    ac3_probe,
     ac3_read_header,
     raw_read_partial_packet,
     raw_read_close,