#include "id3v2.h"
#include "id3v1.h"
#include "libavutil/avstring.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/dict.h"
#include "avio_internal.h"
Go to the source code of this file.
Functions | |
| int | ff_id3v2_match (const uint8_t *buf, const char *magic) |
| Detect ID3v2 Header. | |
| int | ff_id3v2_tag_len (const uint8_t *buf) |
| Get the length of an ID3v2 tag. | |
| static unsigned int | get_size (AVIOContext *s, int len) |
| static void | read_ttag (AVFormatContext *s, AVIOContext *pb, int taglen, const char *key) |
| static int | is_number (const char *str) |
| static AVDictionaryEntry * | get_date_tag (AVDictionary *m, const char *tag) |
| static void | merge_date (AVDictionary **m) |
| static void | ff_id3v2_parse (AVFormatContext *s, int len, uint8_t version, uint8_t flags) |
| void | ff_id3v2_read (AVFormatContext *s, const char *magic) |
| Read an ID3v2 tag. | |
Variables | |
| const AVMetadataConv | ff_id3v2_34_metadata_conv [] |
| const AVMetadataConv | ff_id3v2_4_metadata_conv [] |
| const AVMetadataConv | ff_id3v2_2_metadata_conv [] |
| const char | ff_id3v2_tags [][4] |
| A list of text information frames allowed in both ID3 v2.3 and v2.4 http://www.id3.org/id3v2.4.0-frames http://www.id3.org/id3v2.4.0-changes. | |
| const char | ff_id3v2_4_tags [][4] |
| ID3v2.4-only text information frames. | |
| const char | ff_id3v2_3_tags [][4] |
| ID3v2.3-only text information frames. | |
Specifications available at: http://id3.org/Developer_Information
Definition in file id3v2.c.
| int ff_id3v2_match | ( | const uint8_t * | buf, | |
| const char * | magic | |||
| ) |
Detect ID3v2 Header.
| buf | must be ID3v2_HEADER_SIZE byte long | |
| magic | magic bytes to identify the header, machine byte order. If in doubt, use ID3v2_DEFAULT_MAGIC. |
Definition at line 36 of file id3v2.c.
Referenced by av_probe_input_format3(), ff_id3v2_read(), and oma_read_probe().
| static void ff_id3v2_parse | ( | AVFormatContext * | s, | |
| int | len, | |||
| uint8_t | version, | |||
| uint8_t | flags | |||
| ) | [static] |
| void ff_id3v2_read | ( | AVFormatContext * | s, | |
| const char * | magic | |||
| ) |
Read an ID3v2 tag.
Definition at line 319 of file id3v2.c.
Referenced by avformat_open_input(), and oma_read_header().
| int ff_id3v2_tag_len | ( | const uint8_t * | buf | ) |
Get the length of an ID3v2 tag.
| buf | must be ID3v2_HEADER_SIZE bytes long and point to the start of an already detected ID3v2 tag |
Definition at line 49 of file id3v2.c.
Referenced by av_probe_input_format3(), and oma_read_probe().
| static AVDictionaryEntry* get_date_tag | ( | AVDictionary * | m, | |
| const char * | tag | |||
| ) | [static] |
| static unsigned int get_size | ( | AVIOContext * | s, | |
| int | len | |||
| ) | [static] |
| static int is_number | ( | const char * | str | ) | [static] |
| static void merge_date | ( | AVDictionary ** | m | ) | [static] |
| static void read_ttag | ( | AVFormatContext * | s, | |
| AVIOContext * | pb, | |||
| int | taglen, | |||
| const char * | key | |||
| ) | [static] |
Initial value:
{
{ "TAL", "album"},
{ "TCO", "genre"},
{ "TT2", "title"},
{ "TEN", "encoded_by"},
{ "TP1", "artist"},
{ "TP2", "album_artist"},
{ "TP3", "performer"},
{ "TRK", "track"},
{ 0 }
}
Definition at line 378 of file id3v2.c.
Referenced by ff_id3v2_read().
Initial value:
{
{ "TALB", "album"},
{ "TCOM", "composer"},
{ "TCON", "genre"},
{ "TCOP", "copyright"},
{ "TENC", "encoded_by"},
{ "TIT2", "title"},
{ "TLAN", "language"},
{ "TPE1", "artist"},
{ "TPE2", "album_artist"},
{ "TPE3", "performer"},
{ "TPOS", "disc"},
{ "TPUB", "publisher"},
{ "TRCK", "track"},
{ "TSSE", "encoder"},
{ 0 }
}
Definition at line 350 of file id3v2.c.
Referenced by ff_id3v2_read().
| const char ff_id3v2_3_tags[][4] |
Initial value:
{
{ "TDRL", "date"},
{ "TDRC", "date"},
{ "TDEN", "creation_time"},
{ "TSOA", "album-sort"},
{ "TSOP", "artist-sort"},
{ "TSOT", "title-sort"},
{ 0 }
}
Definition at line 368 of file id3v2.c.
Referenced by ff_id3v2_read().
| const char ff_id3v2_4_tags[][4] |
| const char ff_id3v2_tags[][4] |
Initial value:
{
"TALB", "TBPM", "TCOM", "TCON", "TCOP", "TDLY", "TENC", "TEXT",
"TFLT", "TIT1", "TIT2", "TIT3", "TKEY", "TLAN", "TLEN", "TMED",
"TOAL", "TOFN", "TOLY", "TOPE", "TOWN", "TPE1", "TPE2", "TPE3",
"TPE4", "TPOS", "TPUB", "TRCK", "TRSN", "TRSO", "TSRC", "TSSE",
{ 0 },
}
1.5.8