Miles Sound System SDK 7.2a

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.