annotate id3v2.h @ 6455:3f50c7effad1 libavformat

rtsp: 10l, try to update the correct rtp stream This fixes a bug from rev 22917. Now RTSP streams where the individual RTCP sender reports aren't sent at the same time actually are synced properly.
author mstorsjo
date Fri, 03 Sep 2010 07:10:21 +0000
parents d71ea3c26202
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4221
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
1 /*
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
2 * ID3v2 header parser
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
3 * Copyright (c) 2003 Fabrice Bellard
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
4 *
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
5 * This file is part of FFmpeg.
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
6 *
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
9 * License as published by the Free Software Foundation; either
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
11 *
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
15 * Lesser General Public License for more details.
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
16 *
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
20 */
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
21
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
22 #ifndef AVFORMAT_ID3V2_H
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
23 #define AVFORMAT_ID3V2_H
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
24
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
25 #include <stdint.h>
5016
eb6dd7717805 Move id3v2 parsing code from mp3.c to id3v2.h and id3v2.c.
diego
parents: 4254
diff changeset
26 #include "avformat.h"
5236
1403c88b1ce7 Add id3v2 metadata conversion table and use it in mp3 muxer.
cehoyos
parents: 5045
diff changeset
27 #include "metadata.h"
4221
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
28
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
29 #define ID3v2_HEADER_SIZE 10
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
30
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
31 /**
6121
81614e9b541b Generalize ID3v2 functions to support ID3v2-like ID headers with a
cehoyos
parents: 5292
diff changeset
32 * Default magic bytes for ID3v2 header: "ID3"
81614e9b541b Generalize ID3v2 functions to support ID3v2-like ID headers with a
cehoyos
parents: 5292
diff changeset
33 */
81614e9b541b Generalize ID3v2 functions to support ID3v2-like ID headers with a
cehoyos
parents: 5292
diff changeset
34 #define ID3v2_DEFAULT_MAGIC "ID3"
81614e9b541b Generalize ID3v2 functions to support ID3v2-like ID headers with a
cehoyos
parents: 5292
diff changeset
35
81614e9b541b Generalize ID3v2 functions to support ID3v2-like ID headers with a
cehoyos
parents: 5292
diff changeset
36 /**
6199
fa244b4fe683 Fix grammar errors in documentation
mru
parents: 6121
diff changeset
37 * Detect ID3v2 Header.
6217
d71ea3c26202 Fix Doxygen function parameter documentation syntax.
diego
parents: 6199
diff changeset
38 * @param buf must be ID3v2_HEADER_SIZE byte long
d71ea3c26202 Fix Doxygen function parameter documentation syntax.
diego
parents: 6199
diff changeset
39 * @param magic magic bytes to identify the header, machine byte order.
6121
81614e9b541b Generalize ID3v2 functions to support ID3v2-like ID headers with a
cehoyos
parents: 5292
diff changeset
40 * If in doubt, use ID3v2_DEFAULT_MAGIC.
4221
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
41 */
6121
81614e9b541b Generalize ID3v2 functions to support ID3v2-like ID headers with a
cehoyos
parents: 5292
diff changeset
42 int ff_id3v2_match(const uint8_t *buf, const char *magic);
4221
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
43
4254
d05b13327b07 Fix probing of files with ID3v2 tags. Discussed at
alexc
parents: 4221
diff changeset
44 /**
6199
fa244b4fe683 Fix grammar errors in documentation
mru
parents: 6121
diff changeset
45 * Get the length of an ID3v2 tag.
6217
d71ea3c26202 Fix Doxygen function parameter documentation syntax.
diego
parents: 6199
diff changeset
46 * @param buf must be ID3v2_HEADER_SIZE bytes long and point to the start of an
4254
d05b13327b07 Fix probing of files with ID3v2 tags. Discussed at
alexc
parents: 4221
diff changeset
47 * already detected ID3v2 tag
d05b13327b07 Fix probing of files with ID3v2 tags. Discussed at
alexc
parents: 4221
diff changeset
48 */
d05b13327b07 Fix probing of files with ID3v2 tags. Discussed at
alexc
parents: 4221
diff changeset
49 int ff_id3v2_tag_len(const uint8_t *buf);
d05b13327b07 Fix probing of files with ID3v2 tags. Discussed at
alexc
parents: 4221
diff changeset
50
5016
eb6dd7717805 Move id3v2 parsing code from mp3.c to id3v2.h and id3v2.c.
diego
parents: 4254
diff changeset
51 /**
eb6dd7717805 Move id3v2 parsing code from mp3.c to id3v2.h and id3v2.c.
diego
parents: 4254
diff changeset
52 * ID3v2 parser
eb6dd7717805 Move id3v2 parsing code from mp3.c to id3v2.h and id3v2.c.
diego
parents: 4254
diff changeset
53 * Handles ID3v2.2, 2.3 and 2.4.
eb6dd7717805 Move id3v2 parsing code from mp3.c to id3v2.h and id3v2.c.
diego
parents: 4254
diff changeset
54 */
eb6dd7717805 Move id3v2 parsing code from mp3.c to id3v2.h and id3v2.c.
diego
parents: 4254
diff changeset
55 void ff_id3v2_parse(AVFormatContext *s, int len, uint8_t version, uint8_t flags);
eb6dd7717805 Move id3v2 parsing code from mp3.c to id3v2.h and id3v2.c.
diego
parents: 4254
diff changeset
56
5045
9ed3c88ed9ba Move id3v1/id3v2 handling code from mp3.c to id3v[12].c.
diego
parents: 5016
diff changeset
57 /**
9ed3c88ed9ba Move id3v1/id3v2 handling code from mp3.c to id3v[12].c.
diego
parents: 5016
diff changeset
58 * Read an ID3v2 tag
9ed3c88ed9ba Move id3v1/id3v2 handling code from mp3.c to id3v[12].c.
diego
parents: 5016
diff changeset
59 */
6121
81614e9b541b Generalize ID3v2 functions to support ID3v2-like ID headers with a
cehoyos
parents: 5292
diff changeset
60 void ff_id3v2_read(AVFormatContext *s, const char *magic);
5045
9ed3c88ed9ba Move id3v1/id3v2 handling code from mp3.c to id3v[12].c.
diego
parents: 5016
diff changeset
61
5236
1403c88b1ce7 Add id3v2 metadata conversion table and use it in mp3 muxer.
cehoyos
parents: 5045
diff changeset
62 extern const AVMetadataConv ff_id3v2_metadata_conv[];
1403c88b1ce7 Add id3v2 metadata conversion table and use it in mp3 muxer.
cehoyos
parents: 5045
diff changeset
63
5264
323fc801aa57 MP3 muxer: Write all metadata.
ramiro
parents: 5236
diff changeset
64 /**
323fc801aa57 MP3 muxer: Write all metadata.
ramiro
parents: 5236
diff changeset
65 * A list of ID3v2.4 text information frames.
323fc801aa57 MP3 muxer: Write all metadata.
ramiro
parents: 5236
diff changeset
66 * http://www.id3.org/id3v2.4.0-frames
323fc801aa57 MP3 muxer: Write all metadata.
ramiro
parents: 5236
diff changeset
67 */
5292
2568a59ac5fe Remove extraneous const keyword
mru
parents: 5264
diff changeset
68 extern const char ff_id3v2_tags[][4];
5264
323fc801aa57 MP3 muxer: Write all metadata.
ramiro
parents: 5236
diff changeset
69
4221
55f448c99135 Factorise id3v2 header parsing from mp3.c to be shared
superdump
parents:
diff changeset
70 #endif /* AVFORMAT_ID3V2_H */