Mercurial > libavformat.hg
changeset 1768:7598146fe1cc libavformat
add read_probe function to raw ac3 demuxer
author | jbr |
---|---|
date | Thu, 08 Feb 2007 23:41:08 +0000 |
parents | f1186797fbf5 |
children | 35cf5d513830 |
files | raw.c |
diffstat | 1 files changed, 17 insertions(+), 1 deletions(-) [+] |
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,