Mercurial > libavformat.hg
changeset 1284:5abdc17dc283 libavformat
add support for information in CDXA format
patch by Allan Sandfeld Jensen % kde A carewolf P com %
Original thread:
Date: Aug 18, 2006 6:33 PM
Subject: [Ffmpeg-devel] CDXA in libavformat [patch]
author | gpoirier |
---|---|
date | Tue, 29 Aug 2006 12:03:07 +0000 |
parents | 516cb8ef781a |
children | b5226e679a31 |
files | mpeg.c |
diffstat | 1 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mpeg.c Tue Aug 29 08:15:38 2006 +0000 +++ b/mpeg.c Tue Aug 29 12:03:07 2006 +0000 @@ -1260,6 +1260,20 @@ #define MAX_SYNC_SIZE 100000 +static int cdxa_probe(AVProbeData *p) +{ + /* check file header */ + if (p->buf_size <= 32) + return 0; + if (p->buf[0] == 'R' && p->buf[1] == 'I' && + p->buf[2] == 'F' && p->buf[3] == 'F' && + p->buf[8] == 'C' && p->buf[9] == 'D' && + p->buf[10] == 'X' && p->buf[11] == 'A') + return AVPROBE_SCORE_MAX; + else + return 0; +} + static int mpegps_probe(AVProbeData *p) { uint32_t code= -1; @@ -1267,6 +1281,10 @@ int i; int score=0; + score = cdxa_probe(p); + if (score > 0) return score; + + /* Search for MPEG stream */ for(i=0; i<p->buf_size; i++){ code = (code<<8) + p->buf[i]; if ((code & 0xffffff00) == 0x100) {