MP3_INFO
struct MP3_INFO
{
U8 * MP3_file_image;
S32 MP3_image_size;
U8 * ID3v2;
S32 ID3v2_size;
U8 * ID3v1;
U8 * start_MP3_data;
U8 * end_MP3_data;
S32 sample_rate;
S32 bit_rate;
S32 channels_per_sample;
S32 samples_per_frame;
S32 byte_offset;
S32 next_frame_expected;
S32 average_frame_size;
S32 data_size;
S32 header_size;
S32 side_info_size;
S32 ngr;
S32 main_data_begin;
S32 hpos;
S32 MPEG1;
S32 MPEG25;
S32 layer;
S32 protection_bit;
S32 bitrate_index;
S32 sampling_frequency;
S32 padding_bit;
S32 private_bit;
S32 mode;
S32 mode_extension;
S32 copyright;
S32 original;
S32 emphasis;
};
|
In Members
- MP3_file_image
- Original MP3_file_image pointer passed to AIL_inspect_MP3.
- MP3_image_size
- Original MP3_image_size passed to AIL_inspect_MP3.
- ID3v2
- ID3v2 tag, if not NULL.
- ID3v2_size
- Size of tag in bytes.
- ID3v1
- ID3v1 tag, if not NULL (always 128 bytes long if present).
- start_MP3_data
- Pointer to start of data area in file (not necessarily first valid frame).
- end_MP3_data
- Pointer to last valid byte in MP3 data area (before ID3v1 tag, if any).
- sample_rate
- Sample rate in Hz (normally constant across all frames in file).
- bit_rate
- Bits/second for current frame.
- channels_per_sample
- Always 1 or 2.
- samples_per_frame
- Always 576 or 1152 samples in each MP3 frame, depending on rate.
- byte_offset
- Offset of frame from start_MP3_data (i.e., suitable for use as loop point).
- next_frame_expected
- Offset from start_MP3_data where the next frame was expected. Will normally be equal to byte_offset unless garbage data or an ID3v2 tag was skipped before the currently-enumerated frame, or EOF was reached before the next frame header.
- average_frame_size
- Average source bytes per frame, determined solely by bit rate and sample rate.
- data_size
- # of data-only bytes in this particular frame.
- header_size
- 4 or 6 bytes, depending on CRC.
- side_info_size
- Valid for layer 3 side info only.
- ngr
- Always 2 for MPEG1, else 1.
- main_data_begin
- Always 0 in files with no bit reservoir.
- hpos
- Current bit position in header/side buffer.
- MPEG1
- Data copied directly from frame header; see ISO docs for info.
- MPEG25
- Data copied directly from frame header; see ISO docs for info.
- layer
- Data copied directly from frame header; see ISO docs for info.
- protection_bit
- Data copied directly from frame header; see ISO docs for info.
- bitrate_index
- Data copied directly from frame header; see ISO docs for info.
- sampling_frequency
- Data copied directly from frame header; see ISO docs for info.
- padding_bit
- Data copied directly from frame header; see ISO docs for info.
- private_bit
- Data copied directly from frame header; see ISO docs for info.
- mode
- Data copied directly from frame header; see ISO docs for info.
- mode_extension
- Data copied directly from frame header; see ISO docs for info.
- copyright
- Data copied directly from frame header; see ISO docs for info.
- original
- Data copied directly from frame header; see ISO docs for info.
- emphasis
- Data copied directly from frame header; see ISO docs for info.
Discussion
All MP3_INFO fields other than those documented above are for internal use, and may change between MSS versions.
Fields between MP3_file_image and end_MP3_data, inclusive, are valid as soon as AIL_inspect_MP3 returns, even if the file contains no valid MP3 frames.
All remaining fields pertain to the current frame being inspected, and are valid only after AIL_enumerate_MP3_frames has returned TRUE.
Group:
Utility Services
Related Functions:
AIL_enumerate_MP3_frames, AIL_inspect_MP3
Related Basic Types:
S32, U8
For technical support, e-mail Miles3@radgametools.com
© Copyright 1991-2007 RAD Game Tools, Inc. All Rights Reserved.