annotate caf.c @ 6123:9f368d591c13 libavformat

matroskadec: store the ID of the currently parsed ebml element This allows to interrupt parsing after reading an ID, and then properly recover parsing.
author aurel
date Fri, 11 Jun 2010 16:34:01 +0000
parents c7b98381ec2d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5206
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
1 /*
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
2 * CAF common code
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
3 * Copyright (c) 2007 Justin Ruggles
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
4 *
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
5 * This file is part of FFmpeg.
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
6 *
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
11 *
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
15 * Lesser General Public License for more details.
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
16 *
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
20 */
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
21
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
22 /**
5969
178de7695c6c Remove explicit filename from Doxygen @file commands.
diego
parents: 5290
diff changeset
23 * @file
5206
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
24 * CAF common code
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
25 */
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
26
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
27 #include "avformat.h"
6033
c7b98381ec2d Move AVCodecTag from riff.h into internal.h.
cehoyos
parents: 5969
diff changeset
28 #include "internal.h"
5206
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
29 #include "caf.h"
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
30
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
31 /**
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
32 * Known codec tags for CAF
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
33 */
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
34 const AVCodecTag ff_codec_caf_tags[] = {
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
35 { CODEC_ID_AAC, MKBETAG('a','a','c',' ') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
36 { CODEC_ID_AC3, MKBETAG('a','c','-','3') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
37 { CODEC_ID_ALAC, MKBETAG('a','l','a','c') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
38 /* FIXME: use DV demuxer, as done in MOV */
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
39 /*{ CODEC_ID_DVAUDIO, MKBETAG('v','d','v','a') },*/
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
40 /*{ CODEC_ID_DVAUDIO, MKBETAG('d','v','c','a') },*/
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
41 { CODEC_ID_ADPCM_IMA_QT, MKBETAG('i','m','a','4') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
42 { CODEC_ID_MACE3, MKBETAG('M','A','C','3') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
43 { CODEC_ID_MACE6, MKBETAG('M','A','C','6') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
44 { CODEC_ID_MP3, MKBETAG('.','m','p','3') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
45 { CODEC_ID_MP2, MKBETAG('.','m','p','2') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
46 { CODEC_ID_MP1, MKBETAG('.','m','p','1') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
47 { CODEC_ID_PCM_ALAW, MKBETAG('a','l','a','w') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
48 { CODEC_ID_PCM_MULAW, MKBETAG('u','l','a','w') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
49 { CODEC_ID_QCELP, MKBETAG('Q','c','l','p') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
50 { CODEC_ID_QDM2, MKBETAG('Q','D','M','2') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
51 { CODEC_ID_QDM2, MKBETAG('Q','D','M','C') },
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
52 /* currently unsupported codecs */
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
53 /*{ AC-3 over S/PDIF MKBETAG('c','a','c','3') },*/
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
54 /*{ MPEG4CELP MKBETAG('c','e','l','p') },*/
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
55 /*{ MPEG4HVXC MKBETAG('h','v','x','c') },*/
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
56 /*{ MPEG4TwinVQ MKBETAG('t','w','v','q') },*/
5290
0d5653941bf9 Make AVCodecTag.id enum CodecID and use CODEC_ID_NONE instead of 0.
cehoyos
parents: 5206
diff changeset
57 { CODEC_ID_NONE, 0 },
5206
08c92d88d980 Core Audio Format demuxer
pross
parents:
diff changeset
58 };