CLAM::AudioCodecs::OggVorbisAudioStream Class Reference

#include <OggVorbisAudioStream.hxx>

Inheritance diagram for CLAM::AudioCodecs::OggVorbisAudioStream:

CLAM::AudioCodecs::Stream

List of all members.


Detailed Description

Definition at line 43 of file OggVorbisAudioStream.hxx.


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

Constructor & Destructor Documentation

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

Definition at line 45 of file OggVorbisAudioStream.cxx.

References mBlockBuffer, and mMaxBlockSize.

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

Definition at line 53 of file OggVorbisAudioStream.cxx.

References mBlockBuffer, mMaxBlockSize, and SetFOI().

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

Definition at line 62 of file OggVorbisAudioStream.cxx.

References Dispose(), and mValidFileParams.


Member Function Documentation

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::PrepareReading (  )  [virtual]

void CLAM::AudioCodecs::OggVorbisAudioStream::PrepareWriting (  )  [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::Dispose (  )  [virtual]

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

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

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

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().

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

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::ConsumeDecodedSamples (  )  [protected]


Member Data Documentation

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 75 of file OggVorbisAudioStream.hxx.

Referenced by DiskToMemoryTransfer(), and PrepareReading().

Definition at line 76 of file OggVorbisAudioStream.hxx.

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

Definition at line 79 of file OggVorbisAudioStream.hxx.

Referenced by Dispose(), and VorbisI_EncoderSetup().

Definition at line 80 of file OggVorbisAudioStream.hxx.

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

Definition at line 84 of file OggVorbisAudioStream.hxx.

Referenced by PushAnalysisBlocksOntoOggStream().

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 91 of file OggVorbisAudioStream.hxx.

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 94 of file OggVorbisAudioStream.hxx.

Referenced by DoVorbisAnalysis(), and MemoryToDiskTransfer().

Definition at line 95 of file OggVorbisAudioStream.hxx.

Referenced by DiskToMemoryTransfer(), and OggVorbisAudioStream().

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

Definition at line 97 of file OggVorbisAudioStream.hxx.

Referenced by ConsumeDecodedSamples(), and DiskToMemoryTransfer().

Definition at line 99 of file OggVorbisAudioStream.hxx.

Referenced by DiskToMemoryTransfer().


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

Generated on Tue Aug 12 22:33:51 2008 for CLAM by  doxygen 1.5.5