CLAM::AudioCodecs::OggVorbisAudioStream Class Reference

#include <OggVorbisAudioStream.hxx>

List of all members.

Public Member Functions

 OggVorbisAudioStream ()
 OggVorbisAudioStream (const AudioFile &file)
 ~OggVorbisAudioStream ()
void SetFOI (const AudioFile &file)
void PrepareReading ()
void PrepareWriting ()
void PrepareReadWrite ()
void Dispose ()

Protected Member Functions

void AudioFileToNative (const AudioFile &file)
void DiskToMemoryTransfer ()
void MemoryToDiskTransfer ()
void VorbisI_EncoderSetup ()
void WriteBitstreamHeader ()
void DoVorbisAnalysis ()
void PushAnalysisBlocksOntoOggStream ()
void ConsumeDecodedSamples ()

Protected Attributes

std::string mName
FILE * mFileHandle
OggVorbis_File mNativeFileParams
int mCurrentSection
bool mValidFileParams
vorbis_info mStreamInfo
vorbis_comment mFileComments
ogg_stream_state mOggStreamState
ogg_page mOggPage
ogg_packet mOggPacket
vorbis_dsp_state mDSPState
vorbis_block mVorbisBlock
int mEncodedSampleRate
int mEncodedChannels
bool mEncoding
int mOffset
Array< TInt16mBlockBuffer
std::vector< std::deque< TData > > mEncodeBuffer
std::deque< TInt16mDecodeBuffer
TSize mLastBytesRead

Static Protected Attributes

static const TSize mMaxBlockSize = 4096 / sizeof(TInt16)
static const TSize mAnalysisWindowSize = 1024


Detailed Description

Definition at line 43 of file OggVorbisAudioStream.hxx.


Constructor & Destructor Documentation

CLAM::AudioCodecs::OggVorbisAudioStream::OggVorbisAudioStream (  ) 

CLAM::AudioCodecs::OggVorbisAudioStream::OggVorbisAudioStream ( const AudioFile file  ) 

CLAM::AudioCodecs::OggVorbisAudioStream::~OggVorbisAudioStream (  ) 

Definition at line 62 of file OggVorbisAudioStream.cxx.

References Dispose(), and mValidFileParams.


Member Function Documentation

void CLAM::AudioCodecs::OggVorbisAudioStream::AudioFileToNative ( const AudioFile file  )  [protected]

void CLAM::AudioCodecs::OggVorbisAudioStream::ConsumeDecodedSamples (  )  [protected]

void CLAM::AudioCodecs::OggVorbisAudioStream::DiskToMemoryTransfer (  )  [protected, virtual]

void CLAM::AudioCodecs::OggVorbisAudioStream::Dispose (  )  [virtual]

void CLAM::AudioCodecs::OggVorbisAudioStream::DoVorbisAnalysis (  )  [protected]

void CLAM::AudioCodecs::OggVorbisAudioStream::MemoryToDiskTransfer (  )  [protected, virtual]

void CLAM::AudioCodecs::OggVorbisAudioStream::PrepareReading (  )  [virtual]

void CLAM::AudioCodecs::OggVorbisAudioStream::PrepareReadWrite (  )  [virtual]

Implements CLAM::AudioCodecs::Stream.

Definition at line 205 of file OggVorbisAudioStream.cxx.

References CLAM_ASSERT.

void CLAM::AudioCodecs::OggVorbisAudioStream::PrepareWriting (  )  [virtual]

void CLAM::AudioCodecs::OggVorbisAudioStream::PushAnalysisBlocksOntoOggStream (  )  [protected]

Definition at line 339 of file OggVorbisAudioStream.cxx.

References mDSPState, mFileHandle, mOggPacket, mOggPage, mOggStreamState, mVorbisBlock, and NULL.

Referenced by Dispose(), and DoVorbisAnalysis().

void CLAM::AudioCodecs::OggVorbisAudioStream::SetFOI ( const AudioFile file  )  [virtual]

Implements CLAM::AudioCodecs::Stream.

Definition at line 68 of file OggVorbisAudioStream.cxx.

References AudioFileToNative(), Dispose(), and mValidFileParams.

Referenced by OggVorbisAudioStream().

void CLAM::AudioCodecs::OggVorbisAudioStream::VorbisI_EncoderSetup (  )  [protected]

void CLAM::AudioCodecs::OggVorbisAudioStream::WriteBitstreamHeader (  )  [protected]

Definition at line 170 of file OggVorbisAudioStream.cxx.

References mDSPState, mFileComments, mFileHandle, mOggPage, and mOggStreamState.

Referenced by VorbisI_EncoderSetup().


Member Data Documentation

Definition at line 94 of file OggVorbisAudioStream.hxx.

Referenced by DoVorbisAnalysis(), and MemoryToDiskTransfer().

Definition at line 95 of file OggVorbisAudioStream.hxx.

Referenced by DiskToMemoryTransfer(), and OggVorbisAudioStream().

Definition at line 75 of file OggVorbisAudioStream.hxx.

Referenced by DiskToMemoryTransfer(), and PrepareReading().

Definition at line 97 of file OggVorbisAudioStream.hxx.

Referenced by ConsumeDecodedSamples(), and DiskToMemoryTransfer().

std::vector<std::deque<TData> > CLAM::AudioCodecs::OggVorbisAudioStream::mEncodeBuffer [protected]

Definition at line 88 of file OggVorbisAudioStream.hxx.

Referenced by AudioFileToNative(), and VorbisI_EncoderSetup().

Definition at line 90 of file OggVorbisAudioStream.hxx.

Referenced by Dispose(), and PrepareWriting().

Definition at line 80 of file OggVorbisAudioStream.hxx.

Referenced by Dispose(), VorbisI_EncoderSetup(), and WriteBitstreamHeader().

Definition at line 99 of file OggVorbisAudioStream.hxx.

Referenced by DiskToMemoryTransfer().

const TSize CLAM::AudioCodecs::OggVorbisAudioStream::mMaxBlockSize = 4096 / sizeof(TInt16) [static, protected]

Definition at line 93 of file OggVorbisAudioStream.hxx.

Referenced by DiskToMemoryTransfer(), and OggVorbisAudioStream().

Definition at line 72 of file OggVorbisAudioStream.hxx.

Referenced by AudioFileToNative(), PrepareReading(), and PrepareWriting().

Definition at line 74 of file OggVorbisAudioStream.hxx.

Referenced by DiskToMemoryTransfer(), Dispose(), and PrepareReading().

Definition at line 91 of file OggVorbisAudioStream.hxx.

Definition at line 84 of file OggVorbisAudioStream.hxx.

Referenced by PushAnalysisBlocksOntoOggStream().

Definition at line 79 of file OggVorbisAudioStream.hxx.

Referenced by Dispose(), and VorbisI_EncoderSetup().

Definition at line 76 of file OggVorbisAudioStream.hxx.

Referenced by Dispose(), PrepareReading(), SetFOI(), and ~OggVorbisAudioStream().


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

Generated on Tue Feb 22 09:53:31 2011 for CLAM-Development by  doxygen 1.5.9