|
FFmpeg
|
ID3v2 header parser. More...
#include "config.h"#include "libavutil/avstring.h"#include "libavutil/bprint.h"#include "libavutil/dict.h"#include "libavutil/intreadwrite.h"#include "avio_internal.h"#include "internal.h"#include "id3v1.h"#include "id3v2.h"Classes | |
| struct | ID3v2EMFunc |
Typedefs | |
| typedef struct ID3v2EMFunc | ID3v2EMFunc |
Functions | |
| int | ff_id3v2_match (const uint8_t *buf, const char *magic) |
| Detect ID3v2 Header. More... | |
| int | ff_id3v2_tag_len (const uint8_t *buf) |
| Get the length of an ID3v2 tag. More... | |
| void | ff_id3v2_read_dict (AVIOContext *pb, AVDictionary **metadata, const char *magic, ID3v2ExtraMeta **extra_meta) |
| Read an ID3v2 tag into specified dictionary and retrieve supported extra metadata. More... | |
| void | ff_id3v2_read (AVFormatContext *s, const char *magic, ID3v2ExtraMeta **extra_meta, unsigned int max_search_size) |
| Read an ID3v2 tag, including supported extra metadata. More... | |
| void | ff_id3v2_free_extra_meta (ID3v2ExtraMeta **extra_meta) |
| Free memory allocated parsing special (non-text) metadata. More... | |
| int | ff_id3v2_parse_apic (AVFormatContext *s, ID3v2ExtraMeta **extra_meta) |
| Create a stream for each APIC (attached picture) extracted from the ID3v2 header. | |
| int | ff_id3v2_parse_chapters (AVFormatContext *s, ID3v2ExtraMeta **extra_meta) |
| Create chapters for all CHAP tags found in the ID3v2 header. | |
| int | ff_id3v2_parse_priv_dict (AVDictionary **metadata, ID3v2ExtraMeta **extra_meta) |
| Parse PRIV tags into a dictionary. More... | |
| int | ff_id3v2_parse_priv (AVFormatContext *s, ID3v2ExtraMeta **extra_meta) |
| Add metadata for all PRIV tags in the ID3v2 header. More... | |
Variables | |
| const AVMetadataConv | ff_id3v2_34_metadata_conv [] |
| const AVMetadataConv | ff_id3v2_4_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. More... | |
| const char | ff_id3v2_4_tags [][4] |
| ID3v2.4-only text information frames. More... | |
| const char | ff_id3v2_3_tags [][4] |
| ID3v2.3-only text information frames. More... | |
| const char *const | ff_id3v2_picture_types [21] |
| const CodecMime | ff_id3v2_mime_tags [] |
ID3v2 header parser.
Specifications available at: http://id3.org/Developer_Information
| void ff_id3v2_free_extra_meta | ( | ID3v2ExtraMeta ** | extra_meta | ) |
Free memory allocated parsing special (non-text) metadata.
| extra_meta | Pointer to a pointer to the head of a ID3v2ExtraMeta list, *extra_meta is set to NULL. |
| 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. If in doubt, use ID3v2_DEFAULT_MAGIC. |
| int ff_id3v2_parse_priv | ( | AVFormatContext * | s, |
| ID3v2ExtraMeta ** | extra_meta | ||
| ) |
Add metadata for all PRIV tags in the ID3v2 header.
The PRIV owner is the metadata key. The PRIV data is the value, with non-printable characters escaped.
| int ff_id3v2_parse_priv_dict | ( | AVDictionary ** | d, |
| ID3v2ExtraMeta ** | extra_meta | ||
| ) |
Parse PRIV tags into a dictionary.
The PRIV owner is the metadata key. The PRIV data is the value, with non-printable characters escaped.
| void ff_id3v2_read | ( | AVFormatContext * | s, |
| const char * | magic, | ||
| ID3v2ExtraMeta ** | extra_meta, | ||
| unsigned int | max_search_size | ||
| ) |
Read an ID3v2 tag, including supported extra metadata.
Data is read from and stored to AVFormatContext.
| extra_meta | If not NULL, extra metadata is parsed into a list of ID3v2ExtraMeta structs and *extra_meta points to the head of the list |
| void ff_id3v2_read_dict | ( | AVIOContext * | pb, |
| AVDictionary ** | metadata, | ||
| const char * | magic, | ||
| ID3v2ExtraMeta ** | extra_meta | ||
| ) |
Read an ID3v2 tag into specified dictionary and retrieve supported extra metadata.
| metadata | Parsed metadata is stored here |
| extra_meta | If not NULL, extra metadata is parsed into a list of ID3v2ExtraMeta structs and *extra_meta points to the head of the list |
| 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 |
| const AVMetadataConv ff_id3v2_34_metadata_conv[] |
| const char ff_id3v2_3_tags[][4] |
ID3v2.3-only text information frames.
| const AVMetadataConv ff_id3v2_4_metadata_conv[] |
| const char ff_id3v2_4_tags[][4] |
ID3v2.4-only text information frames.
| const CodecMime ff_id3v2_mime_tags[] |
| const char* const ff_id3v2_picture_types[21] |
| 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.
1.8.12