Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

FrameHeader Class Reference

Frame Header (part of MP3Frame). More...

Inherits mp3_frame_header.

Collaboration diagram for FrameHeader:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 FrameHeader (Bitstream &bs)
int Size () const
void Write (Bitstream &bs)
int Bitrate () const
int Version () const
int Layer () const
bool isCopyrighted () const
bool isOriginal () const
bool isCRC () const
int Frequency () const
int Mode () const
bool isIntensStereo () const
bool isMSstereo () const
int NumChannels () const
int NumGranules () const
int FrameSize () const
bool isValid () const
void Enlarge ()

Detailed Description

Frame Header (part of MP3Frame).

Definition at line 15 of file frameheader.h.


Constructor & Destructor Documentation

FrameHeader::FrameHeader Bitstream bs  ) 
 

Constructor

Reads data bits from Bitstream

Parameters:
bs Bitstream to read data from

Definition at line 9 of file frameheader.cpp.


Member Function Documentation

int FrameHeader::Bitrate  )  const
 

Returns:
Frame bitrate

Definition at line 21 of file frameheader.cpp.

References mp3_frame_header::bitrate_table.

Referenced by MP3Frame::Bitrate(), MP3Frame::Enlarge(), FrameSize(), isValid(), and MP3Frame::ShowInfo().

void FrameHeader::Enlarge  ) 
 

Enlarges frame by changing bitrate to the next in table

Definition at line 91 of file frameheader.cpp.

References Bitarray< T >::Set().

Referenced by MP3Frame::Enlarge().

int FrameHeader::FrameSize  )  const
 

Returns:
Size of frame in bytes

Definition at line 81 of file frameheader.cpp.

References Bitrate(), and Frequency().

Referenced by MP3Frame::Enlarge().

int FrameHeader::Frequency  )  const
 

Returns:
Frame frequency in kHz

Definition at line 51 of file frameheader.cpp.

References mp3_frame_header::frequency_table.

Referenced by FrameSize(), isValid(), and MP3Frame::ShowInfo().

bool FrameHeader::isCopyrighted  )  const
 

Returns:
Whether copyright bit is set

Definition at line 36 of file frameheader.cpp.

bool FrameHeader::isCRC  )  const
 

Returns:
Whether frame is protected by CRC

Definition at line 46 of file frameheader.cpp.

bool FrameHeader::isIntensStereo  )  const
 

Returns:
Whether frame is Intensity Stereo (joint stereo mode only)

Definition at line 61 of file frameheader.cpp.

Referenced by MP3Frame::ShowInfo().

bool FrameHeader::isMSstereo  )  const
 

Returns:
Whether frame is MS Stereo (joint stereo mode only)

Definition at line 66 of file frameheader.cpp.

Referenced by MP3Frame::ShowInfo().

bool FrameHeader::isOriginal  )  const
 

Returns:
Whether copy bit is unset

Definition at line 41 of file frameheader.cpp.

bool FrameHeader::isValid  )  const
 

Returns:
Whether frame header is correct (undamaged)
Todo:
Layer 1 and Layer 2 frames are considered invalid for now

Definition at line 86 of file frameheader.cpp.

References Bitrate(), Frequency(), Layer(), and Version().

Referenced by MP3Frame::ShowInfo().

int FrameHeader::Layer  )  const
 

Returns frame MPEG layer

Returns:
1, 2 or 3

Definition at line 31 of file frameheader.cpp.

References mp3_frame_header::layer_table.

Referenced by isValid(), and MP3Frame::ShowInfo().

int FrameHeader::Mode  )  const
 

Returns:
Frame mode as defined in mp3_frame_header (eg. stereo)

Definition at line 56 of file frameheader.cpp.

Referenced by MP3Frame::ShowInfo().

int FrameHeader::NumChannels  )  const
 

Returns:
Number of channels (1 or 2)

Definition at line 71 of file frameheader.cpp.

Referenced by MP3Frame::ChangeGain(), and MP3Frame::isSilent().

int FrameHeader::NumGranules  )  const
 

Returns:
Number of granules (1 or 2)

Definition at line 76 of file frameheader.cpp.

References Version().

int FrameHeader::Size  )  const
 

Returns static size of header

Returns:
Size of header

Definition at line 16 of file frameheader.cpp.

int FrameHeader::Version  )  const
 

Returns frame version

Returns:
1:MPEG1, 2:MPEG2, 3:MPEG2.5

Definition at line 26 of file frameheader.cpp.

References mp3_frame_header::version_table.

Referenced by isValid(), NumGranules(), and MP3Frame::ShowInfo().

void FrameHeader::Write Bitstream bs  ) 
 

Writes data bits to Bitstream

Parameters:
bs Output Bitstream

Definition at line 11 of file frameheader.cpp.

References Bitarray< T >::Write().


Generated on Wed Sep 6 00:18:18 2006 for Kraken by  doxygen 1.4.4