OggFLAC_1_0_Stream Class Reference

#include <OggFLAC_1_0_Stream.h>

Inheritance diagram for OggFLAC_1_0_Stream:

Inheritance graph
[legend]
Collaboration diagram for OggFLAC_1_0_Stream:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 OggFLAC_1_0_Stream (OggPage *inOggPage, OggDemuxSourceFilter *inOwningFilter, bool inAllowSeek)
virtual ~OggFLAC_1_0_Stream (void)
virtual bool InitCodec (StampedOggPacket *inOggPacket)
virtual BYTE * getFormatBlock ()
virtual unsigned long getFormatBlockSize ()
virtual GUID getFormatGUID ()
virtual GUID getSubtypeGUID ()
virtual wstring getPinName ()
virtual bool createFormatBlock ()
virtual GUID getMajorTypeGUID ()
virtual LONGLONG getCurrentPos ()
virtual unsigned long getNumBuffers ()
virtual unsigned long getBufferSize ()
virtual bool processHeaderPacket (StampedOggPacket *inPacket)
virtual bool deliverCodecHeaders ()
virtual void setLastEndGranPos (__int64 inPos)
unsigned long serialNo ()
void setSerialNo (unsigned long inSerialNo)
virtual unsigned long numCodecHeaders ()
void setSendExcess (bool inSendExcess)
virtual CMediaType * createMediaType (GUID inMajorType, GUID inSubType, GUID inFormatType, unsigned long inFormatSize, BYTE *inFormatBlock)
virtual bool dispatchPacket (StampedOggPacket *inPacket)
virtual bool acceptOggPage (OggPage *inOggPage)
virtual OggDemuxSourcePingetPin ()
virtual bool AddPin ()
void setAllowDispatch (bool inAllowDispatch)
bool streamReady ()
void flush ()
void flush (unsigned short inNumPacketsToIgnore)

Protected Member Functions

virtual bool acceptStampedOggPacket (StampedOggPacket *inPacket)
virtual bool processDataPacket (StampedOggPacket *inPacket)

Protected Attributes

sFLACFormatBlockmFLACFormatBlock
bool mIsFixedNumHeaders
OggPacketiser mPacketiser
StreamHeadersmCodecHeaders
vector< StampedOggPacket * > mExcessPackets
unsigned long mSerialNo
signed long mNumHeadersNeeded
bool mStreamReady
bool mFirstRun
bool mSendExcess
bool mAllowSeek
bool mAllowDispatch
__int64 mLastEndGranulePos
__int64 mLastStartGranulePos
OggDemuxSourcePinmSourcePin
OggDemuxSourceFiltermOwningFilter
CCritSec * mStreamLock

Static Protected Attributes

const unsigned long OGG_FLAC_1_0_BUFFER_SIZE = 65536
const unsigned long OGG_FLAC_1_0_NUM_BUFFERS = 75

Constructor & Destructor Documentation

OggFLAC_1_0_Stream::OggFLAC_1_0_Stream OggPage inOggPage,
OggDemuxSourceFilter inOwningFilter,
bool  inAllowSeek
 

Definition at line 36 of file OggFLAC_1_0_Stream.cpp.

References false, OggPage::getStampedPacket(), and InitCodec().

Here is the call graph for this function:

OggFLAC_1_0_Stream::~OggFLAC_1_0_Stream void   )  [virtual]
 

Definition at line 45 of file OggFLAC_1_0_Stream.cpp.


Member Function Documentation

bool OggStream::acceptOggPage OggPage inOggPage  )  [virtual, inherited]
 

All callers to acceptOggPage give away their pointer to this function. All methods implementing this interface are responsible for deleting this page. All callers should NULL their pointer immediately after calling to avoid reusing them.

Implements IOggCallback.

Definition at line 228 of file OggStream.cpp.

References OggPacketiser::acceptOggPage(), OggPageHeader::GranulePos(), OggPage::header(), OggPageHeader::isBOS(), OggStream::mLastEndGranulePos, OggStream::mLastStartGranulePos, OggStream::mOwningFilter, OggStream::mPacketiser, and OggDemuxSourceFilter::mSeekTimeBase.

Here is the call graph for this function:

bool OggStream::acceptStampedOggPacket StampedOggPacket inPacket  )  [protected, virtual, inherited]
 

All callers to acceptStampedOggPacket give away their pointer to this function. All methods implementing this interface are responsible for deleting this page. All callers should NULL their pointer immediately after calling to avoid reusing them.

Implements IStampedOggPacketSink.

Definition at line 89 of file OggStream.cpp.

References OggStream::AddPin(), OggStream::deliverCodecHeaders(), OggStream::mFirstRun, OggStream::mNumHeadersNeeded, OggStream::processDataPacket(), and OggStream::processHeaderPacket().

Here is the call graph for this function:

bool OggStream::AddPin  )  [virtual, inherited]
 

Reimplemented in CMMLStream.

Definition at line 197 of file OggStream.cpp.

References OggStream::createFormatBlock(), OggStream::createMediaType(), OggStream::getBufferSize(), OggStream::getFormatBlock(), OggStream::getFormatBlockSize(), OggStream::getFormatGUID(), OggStream::getMajorTypeGUID(), OggStream::getNumBuffers(), OggStream::getPinName(), OggStream::getSubtypeGUID(), OggStream::mAllowSeek, OggStream::mCodecHeaders, OggStream::mOwningFilter, OggStream::mSourcePin, and OggStream::mStreamReady.

Referenced by OggStream::acceptStampedOggPacket().

Here is the call graph for this function:

bool OggFLAC_1_0_Stream::createFormatBlock  )  [virtual]
 

Implements OggStream.

Definition at line 80 of file OggFLAC_1_0_Stream.cpp.

References iBE_Math::charArrToULong(), StreamHeaders::getPacket(), mFLACFormatBlock, sFLACFormatBlock::numBitsPerSample, sFLACFormatBlock::numChannels, OggPacket::packetData(), and sFLACFormatBlock::samplesPerSec.

Here is the call graph for this function:

CMediaType * OggStream::createMediaType GUID  inMajorType,
GUID  inSubType,
GUID  inFormatType,
unsigned long  inFormatSize,
BYTE *  inFormatBlock
[virtual, inherited]
 

Definition at line 159 of file OggStream.cpp.

Referenced by OggStream::AddPin(), and CMMLStream::AddPin().

bool OggFLAC_1_0_Stream::deliverCodecHeaders  )  [virtual]
 

Reimplemented from OggStream.

Definition at line 144 of file OggFLAC_1_0_Stream.cpp.

References OggStream::dispatchPacket(), StreamHeaders::getPacket(), StampedOggPacket::merge(), StreamHeaders::numPackets(), and OggPacket::packetData().

Here is the call graph for this function:

bool OggStream::dispatchPacket StampedOggPacket inPacket  )  [virtual, inherited]
 

Reimplemented in FFDShowVideoStream.

Definition at line 274 of file OggStream.cpp.

References OggDemuxSourcePin::deliverOggPacket(), and OggStream::mSourcePin.

Referenced by OggStream::deliverCodecHeaders(), deliverCodecHeaders(), FLACStream::deliverCodecHeaders(), FFDShowVideoStream::dispatchPacket(), and OggStream::processDataPacket().

Here is the call graph for this function:

void OggStream::flush unsigned short  inNumPacketsToIgnore  )  [inherited]
 

Definition at line 187 of file OggStream.cpp.

References OggStream::mPacketiser, OggStream::mStreamLock, OggPacketiser::reset(), and OggPacketiser::setNumIgnorePackets().

Here is the call graph for this function:

void OggStream::flush  )  [inherited]
 

Definition at line 179 of file OggStream.cpp.

References OggStream::mPacketiser, OggStream::mStreamLock, and OggPacketiser::reset().

Referenced by OggDemuxSourceFilter::DeliverEndFlush(), and OggStreamMapper::toStartOfData().

Here is the call graph for this function:

unsigned long OggFLAC_1_0_Stream::getBufferSize  )  [virtual]
 

Implements OggStream.

Definition at line 117 of file OggFLAC_1_0_Stream.cpp.

LONGLONG OggFLAC_1_0_Stream::getCurrentPos  )  [virtual]
 

Implements OggStream.

Definition at line 172 of file OggFLAC_1_0_Stream.cpp.

References mFLACFormatBlock, and sFLACFormatBlock::samplesPerSec.

BYTE * OggFLAC_1_0_Stream::getFormatBlock  )  [virtual]
 

Implements OggStream.

Definition at line 94 of file OggFLAC_1_0_Stream.cpp.

unsigned long OggFLAC_1_0_Stream::getFormatBlockSize  )  [virtual]
 

Implements OggStream.

Definition at line 100 of file OggFLAC_1_0_Stream.cpp.

GUID OggFLAC_1_0_Stream::getFormatGUID  )  [virtual]
 

Implements OggStream.

Definition at line 104 of file OggFLAC_1_0_Stream.cpp.

GUID OggFLAC_1_0_Stream::getMajorTypeGUID  )  [virtual]
 

Implements OggStream.

Definition at line 110 of file OggFLAC_1_0_Stream.cpp.

unsigned long OggFLAC_1_0_Stream::getNumBuffers  )  [virtual]
 

Implements OggStream.

Definition at line 114 of file OggFLAC_1_0_Stream.cpp.

OggDemuxSourcePin * OggStream::getPin  )  [virtual, inherited]
 

Definition at line 154 of file OggStream.cpp.

Referenced by OggDemuxSourceFilter::DeliverBeginFlush(), OggDemuxSourceFilter::DeliverEndFlush(), OggDemuxSourceFilter::DeliverEOS(), OggDemuxSourceFilter::DeliverNewSegment(), and OggDemuxSourceFilter::GetPin().

wstring OggFLAC_1_0_Stream::getPinName  )  [virtual]
 

Implements OggStream.

Definition at line 75 of file OggFLAC_1_0_Stream.cpp.

GUID OggFLAC_1_0_Stream::getSubtypeGUID  )  [virtual]
 

Implements OggStream.

Definition at line 107 of file OggFLAC_1_0_Stream.cpp.

bool OggFLAC_1_0_Stream::InitCodec StampedOggPacket inOggPacket  )  [virtual]
 

Implements OggStream.

Definition at line 50 of file OggFLAC_1_0_Stream.cpp.

References StreamHeaders::addPacket(), iBE_Math::charArrToUShort(), StampedOggPacket::clone(), StreamHeaders::mCodecType, mIsFixedNumHeaders, and OggPacket::packetData().

Referenced by OggFLAC_1_0_Stream().

Here is the call graph for this function:

unsigned long OggStream::numCodecHeaders  )  [virtual, inherited]
 

Definition at line 174 of file OggStream.cpp.

References OggStream::mCodecHeaders, and StreamHeaders::numPackets().

Here is the call graph for this function:

bool OggStream::processDataPacket StampedOggPacket inPacket  )  [protected, virtual, inherited]
 

Definition at line 141 of file OggStream.cpp.

References OggStream::dispatchPacket().

Referenced by OggStream::acceptStampedOggPacket().

Here is the call graph for this function:

bool OggFLAC_1_0_Stream::processHeaderPacket StampedOggPacket inPacket  )  [virtual]
 

Reimplemented from OggStream.

Definition at line 122 of file OggFLAC_1_0_Stream.cpp.

References StreamHeaders::addPacket(), and OggPacket::packetData().

Here is the call graph for this function:

unsigned long OggStream::serialNo  )  [inherited]
 

Definition at line 83 of file OggStream.cpp.

void OggStream::setAllowDispatch bool  inAllowDispatch  )  [inherited]
 

Definition at line 86 of file OggStream.cpp.

References OggStream::mAllowDispatch.

Referenced by OggStreamMapper::setAllowDispatch().

void OggFLAC_1_0_Stream::setLastEndGranPos __int64  inPos  )  [virtual]
 

Reimplemented from OggStream.

Definition at line 141 of file OggFLAC_1_0_Stream.cpp.

References mFLACFormatBlock, and sFLACFormatBlock::samplesPerSec.

void OggStream::setSendExcess bool  inSendExcess  )  [inherited]
 

Definition at line 259 of file OggStream.cpp.

References OggStream::mSendExcess.

Referenced by OggDemuxSourceFilter::resetStream(), and OggDemuxSourceFilter::SetPositions().

void OggStream::setSerialNo unsigned long  inSerialNo  )  [inherited]
 

Definition at line 279 of file OggStream.cpp.

References OggStream::mSerialNo.

bool OggStream::streamReady  )  [inherited]
 

Definition at line 78 of file OggStream.cpp.

Referenced by OggStreamMapper::isReady().


Member Data Documentation

bool OggStream::mAllowDispatch [protected, inherited]
 

Definition at line 116 of file OggStream.h.

Referenced by OggStream::setAllowDispatch().

bool OggStream::mAllowSeek [protected, inherited]
 

Definition at line 115 of file OggStream.h.

Referenced by OggStream::AddPin().

StreamHeaders* OggStream::mCodecHeaders [protected, inherited]
 

Definition at line 108 of file OggStream.h.

Referenced by OggStream::AddPin(), OggStream::deliverCodecHeaders(), OggStream::numCodecHeaders(), and OggStream::processHeaderPacket().

vector<StampedOggPacket*> OggStream::mExcessPackets [protected, inherited]
 

Definition at line 109 of file OggStream.h.

bool OggStream::mFirstRun [protected, inherited]
 

Definition at line 113 of file OggStream.h.

Referenced by OggStream::acceptStampedOggPacket().

sFLACFormatBlock* OggFLAC_1_0_Stream::mFLACFormatBlock [protected]
 

Definition at line 72 of file OggFLAC_1_0_Stream.h.

Referenced by createFormatBlock(), getCurrentPos(), and setLastEndGranPos().

bool OggFLAC_1_0_Stream::mIsFixedNumHeaders [protected]
 

Definition at line 73 of file OggFLAC_1_0_Stream.h.

Referenced by InitCodec().

__int64 OggStream::mLastEndGranulePos [protected, inherited]
 

Definition at line 118 of file OggStream.h.

Referenced by OggStream::acceptOggPage(), and OggStream::setLastEndGranPos().

__int64 OggStream::mLastStartGranulePos [protected, inherited]
 

Definition at line 119 of file OggStream.h.

Referenced by OggStream::acceptOggPage().

signed long OggStream::mNumHeadersNeeded [protected, inherited]
 

Definition at line 111 of file OggStream.h.

Referenced by OggStream::acceptStampedOggPacket(), and OggStream::processHeaderPacket().

OggDemuxSourceFilter* OggStream::mOwningFilter [protected, inherited]
 

Definition at line 122 of file OggStream.h.

Referenced by OggStream::acceptOggPage(), and OggStream::AddPin().

OggPacketiser OggStream::mPacketiser [protected, inherited]
 

Definition at line 106 of file OggStream.h.

Referenced by OggStream::acceptOggPage(), OggStream::flush(), and OggStream::OggStream().

bool OggStream::mSendExcess [protected, inherited]
 

Definition at line 114 of file OggStream.h.

Referenced by OggStream::setSendExcess().

unsigned long OggStream::mSerialNo [protected, inherited]
 

Definition at line 110 of file OggStream.h.

Referenced by OggStream::OggStream(), and OggStream::setSerialNo().

OggDemuxSourcePin* OggStream::mSourcePin [protected, inherited]
 

Definition at line 121 of file OggStream.h.

Referenced by OggStream::AddPin(), and OggStream::dispatchPacket().

CCritSec* OggStream::mStreamLock [protected, inherited]
 

Definition at line 123 of file OggStream.h.

Referenced by OggStream::flush(), and OggStream::OggStream().

bool OggStream::mStreamReady [protected, inherited]
 

Definition at line 112 of file OggStream.h.

Referenced by OggStream::AddPin().

const unsigned long OggFLAC_1_0_Stream::OGG_FLAC_1_0_BUFFER_SIZE = 65536 [static, protected]
 

Definition at line 69 of file OggFLAC_1_0_Stream.h.

const unsigned long OggFLAC_1_0_Stream::OGG_FLAC_1_0_NUM_BUFFERS = 75 [static, protected]
 

Definition at line 70 of file OggFLAC_1_0_Stream.h.


The documentation for this class was generated from the following files:
Generated on Tue Feb 15 15:03:48 2005 for oggdsf by  doxygen 1.3.9