|
#define | ID3V22_TAG ME_FOURCC('I', 'D', '3', 2) /* id3 v2.2 header tag */ |
|
#define | ID3V23_TAG ME_FOURCC('I', 'D', '3', 3) /* id3 v2.3 header tag */ |
|
#define | ID3V24_TAG ME_FOURCC('I', 'D', '3', 4) /* id3 v2.4 header tag */ |
|
#define | ID3V24_FOOTER_TAG ME_FOURCC('3', 'D', 'I', 0) /* id3 v2.4 footer tag */ |
|
#define | ID3V2X_TAG ME_FOURCC('I', 'D', '3', 0) /* id3 v2.x header tag */ |
|
#define | ID3V2X_MASK ~ME_FOURCC( 0 , 0 , 0 , 0xFF) /* id3 v2.x header mask */ |
|
#define | ID3V22_UNSYNCH_FLAG 0x80 |
|
#define | ID3V22_COMPRESS_FLAG 0x40 |
|
#define | ID3V22_ZERO_FLAG 0x3F |
|
#define | ID3V22_FRAME_HEADER_SIZE 6 |
|
#define | ID3V23_UNSYNCH_FLAG 0x80 |
|
#define | ID3V23_EXT_HEADER_FLAG 0x40 |
|
#define | ID3V23_EXPERIMENTAL_FLAG 0x20 |
|
#define | ID3V23_ZERO_FLAG 0x1F |
|
#define | ID3V23_FRAME_HEADER_SIZE 10 |
|
#define | ID3V23_FRAME_TAG_PRESERV_FLAG 0x8000 |
|
#define | ID3V23_FRAME_FILE_PRESERV_FLAG 0x4000 |
|
#define | ID3V23_FRAME_READ_ONLY_FLAG 0x2000 |
|
#define | ID3V23_FRAME_COMPRESS_FLAG 0x0080 |
|
#define | ID3V23_FRAME_ENCRYPT_FLAG 0x0040 |
|
#define | ID3V23_FRAME_GROUP_ID_FLAG 0x0020 |
|
#define | ID3V23_FRAME_ZERO_FLAG 0x1F1F |
|
#define | ID3V24_UNSYNCH_FLAG 0x80 |
|
#define | ID3V24_EXT_HEADER_FLAG 0x40 |
|
#define | ID3V24_EXPERIMENTAL_FLAG 0x20 |
|
#define | ID3V24_FOOTER_FLAG 0x10 |
|
#define | ID3V24_ZERO_FLAG 0x0F |
|
#define | ID3V24_EXT_UPDATE_FLAG 0x40 |
|
#define | ID3V24_EXT_CRC_FLAG 0x20 |
|
#define | ID3V24_EXT_RESTRICTIONS_FLAG 0x10 |
|
#define | ID3V24_EXT_ZERO_FLAG 0x8F |
|
#define | ID3V24_FRAME_HEADER_SIZE 10 |
|
#define | ID3V24_FRAME_TAG_PRESERV_FLAG 0x4000 |
|
#define | ID3V24_FRAME_FILE_PRESERV_FLAG 0x2000 |
|
#define | ID3V24_FRAME_READ_ONLY_FLAG 0x1000 |
|
#define | ID3V24_FRAME_GROUP_ID_FLAG 0x0040 |
|
#define | ID3V24_FRAME_COMPRESS_FLAG 0x0008 |
|
#define | ID3V24_FRAME_ENCRYPT_FLAG 0x0004 |
|
#define | ID3V24_FRAME_UNSYNCH_FLAG 0x0002 |
|
#define | ID3V24_FRAME_DATA_LEN_FLAG 0x0001 |
|
#define | ID3V24_FRAME_ZERO_FLAG 0x8FB0 |
|
#define | ID3V24_FOOTER_SIZE 10 |
|
Generic function for ID3v2 tags parsing.
- Parameters
-
input | Pointer to the input plugin used by the demuxer, used to access the tag's data. |
stream | Pointer to the xine stream currently being read. |
mp3_frame_header | Header of the MP3 frame carrying the tag. |
- Note
- This function will take care of calling the proper function for parsing ID3v2.2, ID3v2.3 or ID3v2.4 tags.
References _x_assert, be2me_32, id3v22_parse_tag(), ID3V22_TAG, id3v23_parse_tag(), ID3V23_TAG, id3v24_parse_tag(), ID3V24_TAG, ID3V2X_MASK, ID3V2X_TAG, input(), LOG_MODULE, xine_stream_s::xine, XINE_VERBOSITY_LOG, and xprintf.
Referenced by demux_mpgaudio_next(), open_flac_file(), and probe_aac_file().