TagLib 1.11 (TagLib: TagLib::MPEG::Header Class Reference)

TagLib::MPEG::Header Class Reference

An implementation of MP3 frame headers. More...

#include <mpegheader.h>

List of all members.

Public Types

enum  Version { Version1 = 0, Version2 = 1, Version2_5 = 2 }
enum  ChannelMode { Stereo = 0, JointStereo = 1, DualChannel = 2, SingleChannel = 3 }

Public Member Functions

 Header (const ByteVector &data)
 Header (File *file, long offset, bool checkLength=true)
 Header (const Header &h)
virtual ~Header ()
bool isValid () const
Version version () const
int layer () const
bool protectionEnabled () const
int bitrate () const
int sampleRate () const
bool isPadded () const
ChannelMode channelMode () const
bool isCopyrighted () const
bool isOriginal () const
int frameLength () const
int samplesPerFrame () const
Headeroperator= (const Header &h)


Detailed Description

An implementation of MP3 frame headers.

This is an implementation of MPEG Layer III headers. The API follows more or less the binary format of these headers. I've used this document as a reference.


Member Enumeration Documentation

The MPEG Version.

Enumerator:
Version1  MPEG Version 1.
Version2  MPEG Version 2.
Version2_5  MPEG Version 2.5.

There are a few combinations or one or two channel audio that are possible:

Enumerator:
Stereo  Stereo.
JointStereo  Stereo.
DualChannel  Dual Mono.
SingleChannel  Mono.


Constructor & Destructor Documentation

TagLib::MPEG::Header::Header ( const ByteVector data  ) 

Parses an MPEG header based on data.

TagLib::MPEG::Header::Header ( File file,
long  offset,
bool  checkLength = true 
)

Parses an MPEG header based on file and offset.

Note:
If checkLength is true, this requires the next MPEG frame to check if the frame length is parsed and calculated correctly. So it's suitable for seeking for the first valid frame.

TagLib::MPEG::Header::Header ( const Header h  ) 

Does a shallow copy of h.

virtual TagLib::MPEG::Header::~Header (  )  [virtual]

Destroys this Header instance.


Member Function Documentation

bool TagLib::MPEG::Header::isValid (  )  const

Returns true if the frame is at least an appropriate size and has legal values.

Version TagLib::MPEG::Header::version (  )  const

Returns the MPEG Version of the header.

int TagLib::MPEG::Header::layer (  )  const

Returns the layer version. This will be between the values 1-3.

bool TagLib::MPEG::Header::protectionEnabled (  )  const

Returns true if the MPEG protection bit is enabled.

int TagLib::MPEG::Header::bitrate (  )  const

Returns the bitrate encoded in the header.

int TagLib::MPEG::Header::sampleRate (  )  const

Returns the sample rate in Hz.

bool TagLib::MPEG::Header::isPadded (  )  const

Returns true if the frame is padded.

ChannelMode TagLib::MPEG::Header::channelMode (  )  const

Returns the channel mode for this frame.

bool TagLib::MPEG::Header::isCopyrighted (  )  const

Returns true if the copyrighted bit is set.

bool TagLib::MPEG::Header::isOriginal (  )  const

Returns true if the "original" bit is set.

int TagLib::MPEG::Header::frameLength (  )  const

Returns the frame length in bytes.

int TagLib::MPEG::Header::samplesPerFrame (  )  const

Returns the number of frames per sample.

Header& TagLib::MPEG::Header::operator= ( const Header h  ) 

Makes a shallow copy of the header.


The documentation for this class was generated from the following file: