AnxStreamMapper Class Reference

#include <AnxStreamMapper.h>

Inheritance diagram for AnxStreamMapper:

Inheritance graph
[legend]
Collaboration diagram for AnxStreamMapper:

Collaboration graph
[legend]
List of all members.

Public Types

enum  eAnxDemuxState {
  SEEN_NOTHING, SEEN_ANNODEX_BOS, SEEN_AN_ANXDATA, OGG_STATE,
  INVALID_STATE = 1000
}
enum  eAnxVersions { ANX_VERSION_2_0 = 2 << 16, ANX_VERSION_3_0 = 3 << 16 }

Public Member Functions

 AnxStreamMapper (void)
 AnxStreamMapper (OggDemuxSourceFilter *inOwningFilter)
virtual ~AnxStreamMapper (void)
virtual bool acceptOggPage (OggPage *inOggPage)
virtual bool isReady ()
virtual bool toStartOfData ()
OggStreamgetOggStream (unsigned long inPinNo)
unsigned long numStreams ()
unsigned long startOfData ()
bool dispatchPage (OggPage *inOggPage)
virtual void setAllowDispatch (bool inAllowDispatch)

Protected Member Functions

bool isAnnodexEOS (OggPage *inOggPage)
bool isAnnodexBOS (OggPage *inOggPage)
bool isAnxDataPage (OggPage *inOggPage, bool inAnxDataAreBOS)
unsigned long getAnxVersion (OggPage *inOggPage)
bool handleAnxVersion_2_0 (OggPage *inOggPage)
bool handleAnxVersion_3_0 (OggPage *inOggPage)

Protected Attributes

vector< unsigned long > mSeenStreams
bool mSeenAnnodexBOS
bool mReadyForCodecs
bool mSeenCMML
unsigned long mAnnodexSerial
OggPacketmAnnodexHeader
vector< OggPacket * > mAnxDataHeaders
unsigned long mAnxVersion
eAnxDemuxState mDemuxState
fstream debugLog
unsigned long mDataStartsAt
bool mSendExcess
vector< OggStream * > mStreamList
OggDemuxSourceFiltermOwningFilter

Friends

class OggStream

Member Enumeration Documentation

enum AnxStreamMapper::eAnxDemuxState
 

Enumeration values:
SEEN_NOTHING 
SEEN_ANNODEX_BOS 
SEEN_AN_ANXDATA 
OGG_STATE 
INVALID_STATE 

Definition at line 53 of file AnxStreamMapper.h.

enum AnxStreamMapper::eAnxVersions
 

Enumeration values:
ANX_VERSION_2_0 
ANX_VERSION_3_0 

Definition at line 61 of file AnxStreamMapper.h.


Constructor & Destructor Documentation

AnxStreamMapper::AnxStreamMapper void   ) 
 

AnxStreamMapper::AnxStreamMapper OggDemuxSourceFilter inOwningFilter  ) 
 

Definition at line 38 of file AnxStreamMapper.cpp.

References debugLog, false, and SEEN_NOTHING.

AnxStreamMapper::~AnxStreamMapper void   )  [virtual]
 

Definition at line 53 of file AnxStreamMapper.cpp.

References debugLog.


Member Function Documentation

bool AnxStreamMapper::acceptOggPage OggPage inOggPage  )  [virtual]
 

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.

Reimplemented from OggStreamMapper.

Definition at line 289 of file AnxStreamMapper.cpp.

References ANX_VERSION_2_0, ANX_VERSION_3_0, getAnxVersion(), handleAnxVersion_2_0(), handleAnxVersion_3_0(), mAnxVersion, and mDemuxState.

Here is the call graph for this function:

bool OggStreamMapper::dispatchPage OggPage inOggPage  )  [inherited]
 

Definition at line 61 of file OggStreamMapper.cpp.

References OggPage::header(), OggStreamMapper::mStreamList, and OggPageHeader::StreamSerialNo().

Referenced by OggStreamMapper::acceptOggPage(), and handleAnxVersion_2_0().

Here is the call graph for this function:

unsigned long AnxStreamMapper::getAnxVersion OggPage inOggPage  )  [protected]
 

Returns a 32 number indicating the version... major<<16 + minor

Definition at line 134 of file AnxStreamMapper.cpp.

References iLE_Math::charArrToUShort(), OggPage::getPacket(), isAnnodexBOS(), and OggPacket::packetData().

Referenced by acceptOggPage().

Here is the call graph for this function:

OggStream * OggStreamMapper::getOggStream unsigned long  inPinNo  )  [inherited]
 

Definition at line 161 of file OggStreamMapper.cpp.

References OggStreamMapper::mStreamList.

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

bool AnxStreamMapper::handleAnxVersion_2_0 OggPage inOggPage  )  [protected]
 

Definition at line 146 of file AnxStreamMapper.cpp.

References OggPacket::clone(), OggStreamFactory::CreateStream(), debugLog, OggStreamMapper::dispatchPage(), OggPage::getPacket(), OggPage::header(), INVALID_STATE, isAnnodexBOS(), isAnnodexEOS(), isAnxDataPage(), mAnnodexHeader, mAnnodexSerial, mAnxDataHeaders, mDemuxState, mSeenStreams, OGG_STATE, SEEN_AN_ANXDATA, SEEN_ANNODEX_BOS, SEEN_NOTHING, and OggPageHeader::StreamSerialNo().

Referenced by acceptOggPage().

Here is the call graph for this function:

bool AnxStreamMapper::handleAnxVersion_3_0 OggPage inOggPage  )  [protected]
 

Definition at line 268 of file AnxStreamMapper.cpp.

References INVALID_STATE, OGG_STATE, SEEN_AN_ANXDATA, SEEN_ANNODEX_BOS, and SEEN_NOTHING.

Referenced by acceptOggPage().

bool AnxStreamMapper::isAnnodexBOS OggPage inOggPage  )  [protected]
 

Definition at line 102 of file AnxStreamMapper.cpp.

References OggPage::getPacket(), OggPage::header(), OggPageHeader::isBOS(), OggPage::numPackets(), OggPacket::packetData(), and OggPacket::packetSize().

Referenced by getAnxVersion(), and handleAnxVersion_2_0().

Here is the call graph for this function:

bool AnxStreamMapper::isAnnodexEOS OggPage inOggPage  )  [protected]
 

Definition at line 93 of file AnxStreamMapper.cpp.

References OggPage::header(), OggPageHeader::isEOS(), and OggPageHeader::StreamSerialNo().

Referenced by handleAnxVersion_2_0().

Here is the call graph for this function:

bool AnxStreamMapper::isAnxDataPage OggPage inOggPage,
bool  inAnxDataAreBOS
[protected]
 

Definition at line 113 of file AnxStreamMapper.cpp.

References OggPage::getPacket(), OggPage::header(), OggPageHeader::isBOS(), OggPage::numPackets(), OggPacket::packetData(), and OggPacket::packetSize().

Referenced by handleAnxVersion_2_0().

Here is the call graph for this function:

bool AnxStreamMapper::isReady  )  [virtual]
 

Reimplemented from OggStreamMapper.

Definition at line 58 of file AnxStreamMapper.cpp.

References debugLog, and mSeenStreams.

Referenced by toStartOfData().

unsigned long OggStreamMapper::numStreams  )  [inherited]
 

Definition at line 157 of file OggStreamMapper.cpp.

References OggStreamMapper::mStreamList.

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

void OggStreamMapper::setAllowDispatch bool  inAllowDispatch  )  [virtual, inherited]
 

Definition at line 141 of file OggStreamMapper.cpp.

References OggStreamMapper::mStreamList, and OggStream::setAllowDispatch().

Referenced by OggDemuxSourceFilter::SetUpPins().

Here is the call graph for this function:

unsigned long OggStreamMapper::startOfData  )  [inherited]
 

Definition at line 91 of file OggStreamMapper.cpp.

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

bool AnxStreamMapper::toStartOfData  )  [virtual]
 

Reimplemented from OggStreamMapper.

Definition at line 383 of file AnxStreamMapper.cpp.

References debugLog, isReady(), and mAnxVersion.

Here is the call graph for this function:


Friends And Related Function Documentation

friend class OggStream [friend, inherited]
 

Definition at line 46 of file OggStreamMapper.h.


Member Data Documentation

fstream AnxStreamMapper::debugLog [protected]
 

Definition at line 92 of file AnxStreamMapper.h.

Referenced by AnxStreamMapper(), handleAnxVersion_2_0(), isReady(), toStartOfData(), and ~AnxStreamMapper().

OggPacket* AnxStreamMapper::mAnnodexHeader [protected]
 

Definition at line 87 of file AnxStreamMapper.h.

Referenced by handleAnxVersion_2_0().

unsigned long AnxStreamMapper::mAnnodexSerial [protected]
 

Definition at line 86 of file AnxStreamMapper.h.

Referenced by handleAnxVersion_2_0().

vector<OggPacket*> AnxStreamMapper::mAnxDataHeaders [protected]
 

Definition at line 88 of file AnxStreamMapper.h.

Referenced by handleAnxVersion_2_0().

unsigned long AnxStreamMapper::mAnxVersion [protected]
 

Definition at line 89 of file AnxStreamMapper.h.

Referenced by acceptOggPage(), and toStartOfData().

unsigned long OggStreamMapper::mDataStartsAt [protected, inherited]
 

Definition at line 64 of file OggStreamMapper.h.

eAnxDemuxState AnxStreamMapper::mDemuxState [protected]
 

Definition at line 90 of file AnxStreamMapper.h.

Referenced by acceptOggPage(), and handleAnxVersion_2_0().

OggDemuxSourceFilter* OggStreamMapper::mOwningFilter [protected, inherited]
 

Definition at line 68 of file OggStreamMapper.h.

Referenced by OggStreamMapper::acceptOggPage().

bool AnxStreamMapper::mReadyForCodecs [protected]
 

Definition at line 84 of file AnxStreamMapper.h.

bool AnxStreamMapper::mSeenAnnodexBOS [protected]
 

Definition at line 83 of file AnxStreamMapper.h.

bool AnxStreamMapper::mSeenCMML [protected]
 

Definition at line 85 of file AnxStreamMapper.h.

vector<unsigned long> AnxStreamMapper::mSeenStreams [protected]
 

Definition at line 82 of file AnxStreamMapper.h.

Referenced by handleAnxVersion_2_0(), and isReady().

bool OggStreamMapper::mSendExcess [protected, inherited]
 

Definition at line 65 of file OggStreamMapper.h.

vector<OggStream*> OggStreamMapper::mStreamList [protected, inherited]
 

Definition at line 66 of file OggStreamMapper.h.

Referenced by OggStreamMapper::acceptOggPage(), OggStreamMapper::dispatchPage(), OggStreamMapper::getOggStream(), OggStreamMapper::isReady(), OggStreamMapper::numStreams(), OggStreamMapper::setAllowDispatch(), OggStreamMapper::toStartOfData(), and OggStreamMapper::~OggStreamMapper().


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