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

MP3Stream Class Reference

Helper class for MP3Frame. More...

Collaboration diagram for MP3Stream:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MP3Stream (Bitstream &bs, int type)
 ~MP3Stream ()
MP3FrameFirst () const
void SetFirst (MP3Frame *frame)
BitstreamGetBitstream () const
void WriteData (Bitstream &bs, int numbytes, int startpos)
void SeekTo (MP3Frame *frame)
int WriteMode () const

Detailed Description

Helper class for MP3Frame.

Purpose of this class is to store information shared between MP3Frame objects. It stores pointers to first frame whose data weren't written yet (firstframe) and also to frame with those data (dataframe).

Definition at line 20 of file mp3stream.h.


Constructor & Destructor Documentation

MP3Stream::MP3Stream Bitstream bs,
int  type
 

Constructor

Creates a MP3Stream on top of Bitstream, reads a first frame.

Parameters:
bs Input Bitstream to read data from
type Write mode as defined in MP3Frame

Definition at line 14 of file mp3stream.cpp.

MP3Stream::~MP3Stream  ) 
 

Destructor

Deletes all allocated frames.

Definition at line 21 of file mp3stream.cpp.

References MP3Frame::Destroy().


Member Function Documentation

MP3Frame * MP3Stream::First  )  const
 

Returns firstframe of the stream.

Returns:
First frame

Definition at line 27 of file mp3stream.cpp.

Referenced by MP3Iterator::MP3Iterator().

Bitstream & MP3Stream::GetBitstream  )  const
 

Returns the associated Bitstream

Returns:
Input Bitstream

Definition at line 38 of file mp3stream.cpp.

void MP3Stream::SeekTo MP3Frame frame  ) 
 

Sets a new dataframe deleting all frames before it

It's called by MP3Frame::WriteData() function to delete all "emptied" dataframes (frames from which all data were written)

Parameters:
frame New dataframe

Definition at line 93 of file mp3stream.cpp.

References MP3Frame::Destroy(), and MP3Frame::isLocked().

Referenced by MP3Iterator::operator++(), and MP3Frame::WriteData().

void MP3Stream::SetFirst MP3Frame frame  ) 
 

Sets firstframe of the stream

It does not delete any frames, because they can store data of this new first frame.

Parameters:
frame New first frame

Definition at line 32 of file mp3stream.cpp.

Referenced by MP3Frame::SetFirst().

void MP3Stream::WriteData Bitstream bs,
int  numbytes,
int  startpos
 

Writes requested number of data bytes from stream

This is the most important function. It choses a frame whose data to write (more frames may be needed to fullfill the request) and calls its WriteData() function.

Parameters:
bs Output bitstream
numbytes Number of bytes to write
startpos Position of first byte in stream

Definition at line 43 of file mp3stream.cpp.

References MP3Frame::DataSize(), MP3Frame::Next(), MP3Frame::SetDataBegin(), MP3Frame::WriteData(), and Bitstream::WriteNullBytes().

Referenced by MP3Frame::Write().

int MP3Stream::WriteMode  )  const
 

Returns the write mode of stream

This value is used by MP3Frame object and can be MP3Frame::normal, MP3Frame::fastwrite or MP3Frame::nowrite.

Returns:
Write mode of stream

Definition at line 103 of file mp3stream.cpp.

Referenced by MP3Iterator::operator++(), and MP3Frame::Write().


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