OggStreamMapper Class Reference

#include <OggStreamMapper.h>

Inheritance diagram for OggStreamMapper:

Inheritance graph
[legend]
Collaboration diagram for OggStreamMapper:

Collaboration graph
[legend]
List of all members.

Public Types

enum  eStreamState {
  STRMAP_READY, STRMAP_PARSING_BOS_PAGES, STRMAP_PARSING_HEADERS, STRMAP_DATA,
  STRMAP_FINISHED, STRMAP_ERROR
}

Public Member Functions

virtual bool acceptOggPage (OggPage *inOggPage)
virtual bool acceptOggPage (OggPage *inOggPage)
bool allStreamsReady ()
bool dispatchPage (OggPage *inOggPage)
OggStreamgetOggStream (unsigned long inPinNo)
OggDemuxPacketSourcePingetPinByIndex (unsigned long inIndex)
virtual bool isReady ()
unsigned long numPins ()
unsigned long numStreams ()
 OggStreamMapper (OggDemuxPacketSourceFilter *inParentFilter, CCritSec *inParentFilterLock)
 OggStreamMapper (OggDemuxSourceFilter *inOwningFilter)
virtual void setAllowDispatch (bool inAllowDispatch)
unsigned long startOfData ()
eStreamState streamState ()
virtual bool toStartOfData ()
virtual ~OggStreamMapper (void)
virtual ~OggStreamMapper (void)

Protected Member Functions

bool addNewPin (OggPage *inOggPage)
OggDemuxPacketSourcePingetMatchingPin (unsigned long inSerialNo)
bool handleFishHead (OggPage *inOggPage)
bool isFishHead (OggPage *inOggPage)

Protected Attributes

unsigned long mDataStartsAt
OggPacketmFishHeadPacket
OggDemuxSourceFiltermOwningFilter
OggDemuxPacketSourceFiltermParentFilter
CCritSec * mParentFilterLock
vector< OggDemuxPacketSourcePin * > mPins
bool mSendExcess
unsigned long mSkeletonSerialNo
vector< OggStream * > mStreamList
eStreamState mStreamState

Friends

class OggStream

Member Enumeration Documentation

enum OggStreamMapper::eStreamState
 

Enumeration values:
STRMAP_READY 
STRMAP_PARSING_BOS_PAGES 
STRMAP_PARSING_HEADERS 
STRMAP_DATA 
STRMAP_FINISHED 
STRMAP_ERROR 

Definition at line 16 of file OggStreamMapper.h.


Constructor & Destructor Documentation

OggStreamMapper::OggStreamMapper OggDemuxSourceFilter inOwningFilter  ) 
 

Definition at line 34 of file OggStreamMapper.cpp.

OggStreamMapper::~OggStreamMapper void   )  [virtual]
 

Definition at line 42 of file OggStreamMapper.cpp.

References mStreamList.

OggStreamMapper::OggStreamMapper OggDemuxPacketSourceFilter inParentFilter,
CCritSec *  inParentFilterLock
 

Definition at line 4 of file OggStreamMapper.cpp.

virtual OggStreamMapper::~OggStreamMapper void   )  [virtual]
 


Member Function Documentation

virtual bool OggStreamMapper::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.

Implements IOggCallback.

Reimplemented in AnxStreamMapper.

bool OggStreamMapper::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.

Implements IOggCallback.

Reimplemented in AnxStreamMapper.

Definition at line 94 of file OggStreamMapper.cpp.

References OggStreamFactory::CreateStream(), dispatchPage(), OggPage::header(), OggPageHeader::isBOS(), isReady(), mOwningFilter, and mStreamList.

Referenced by OggDemuxPacketSourceFilter::acceptOggPage(), OggDemuxSourceFilter::acceptOggPage(), and AnxStreamMapper::handleAnxVersion_3_0().

Here is the call graph for this function:

bool OggStreamMapper::addNewPin OggPage inOggPage  )  [protected]
 

Definition at line 111 of file OggStreamMapper.cpp.

References OggPacket::clone(), OggPage::getPacket(), handleFishHead(), OggPage::header(), isFishHead(), mParentFilter, mParentFilterLock, mPins, and OggPageHeader::StreamSerialNo().

Here is the call graph for this function:

bool OggStreamMapper::allStreamsReady  ) 
 

Definition at line 79 of file OggStreamMapper.cpp.

References mPins.

Referenced by OggDemuxPacketSourceFilter::notifyPinConnected().

bool OggStreamMapper::dispatchPage OggPage inOggPage  ) 
 

Definition at line 61 of file OggStreamMapper.cpp.

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

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

Here is the call graph for this function:

OggDemuxPacketSourcePin * OggStreamMapper::getMatchingPin unsigned long  inSerialNo  )  [protected]
 

Definition at line 126 of file OggStreamMapper.cpp.

References OggDemuxPacketSourcePin::getSerialNo(), and mPins.

Here is the call graph for this function:

OggStream * OggStreamMapper::getOggStream unsigned long  inPinNo  ) 
 

Definition at line 161 of file OggStreamMapper.cpp.

References mStreamList.

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

OggDemuxPacketSourcePin * OggStreamMapper::getPinByIndex unsigned long  inIndex  ) 
 

Definition at line 19 of file OggStreamMapper.cpp.

References mPins.

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

bool OggStreamMapper::handleFishHead OggPage inOggPage  )  [protected]
 

Definition at line 104 of file OggStreamMapper.cpp.

References StampedOggPacket::clone(), OggPage::getStampedPacket(), OggPage::header(), mFishHeadPacket, mSkeletonSerialNo, and OggPageHeader::StreamSerialNo().

Referenced by addNewPin().

Here is the call graph for this function:

bool OggStreamMapper::isFishHead OggPage inOggPage  )  [protected]
 

Definition at line 90 of file OggStreamMapper.cpp.

References OggPage::getStampedPacket(), and OggPacket::packetData().

Referenced by addNewPin().

Here is the call graph for this function:

bool OggStreamMapper::isReady  )  [virtual]
 

Reimplemented in AnxStreamMapper.

Definition at line 147 of file OggStreamMapper.cpp.

References mStreamList, and OggStream::streamReady().

Referenced by acceptOggPage(), AnxStreamMapper::isReady(), OggDemuxSourceFilter::SetUpPins(), and toStartOfData().

Here is the call graph for this function:

unsigned long OggStreamMapper::numPins  )  [inline]
 

Definition at line 35 of file OggStreamMapper.h.

References mPins.

Referenced by OggDemuxPacketSourceFilter::DeliverBeginFlush(), OggDemuxPacketSourceFilter::DeliverEndFlush(), OggDemuxPacketSourceFilter::DeliverEOS(), OggDemuxPacketSourceFilter::DeliverNewSegment(), and OggDemuxPacketSourceFilter::GetPinCount().

unsigned long OggStreamMapper::numStreams  ) 
 

Definition at line 157 of file OggStreamMapper.cpp.

References 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]
 

Definition at line 141 of file OggStreamMapper.cpp.

References mStreamList, and OggStream::setAllowDispatch().

Referenced by OggDemuxSourceFilter::SetUpPins().

Here is the call graph for this function:

unsigned long OggStreamMapper::startOfData  ) 
 

Definition at line 91 of file OggStreamMapper.cpp.

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

eStreamState OggStreamMapper::streamState  ) 
 

bool OggStreamMapper::toStartOfData  )  [virtual]
 

Reimplemented in AnxStreamMapper.

Definition at line 129 of file OggStreamMapper.cpp.

References OggStream::flush(), isReady(), and mStreamList.

Referenced by OggDemuxSourceFilter::DeliverEndFlush(), OggDemuxSourceFilter::DeliverEOS(), OggDemuxSourceFilter::SetUpPins(), and AnxStreamMapper::toStartOfData().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class OggStream [friend]
 

Definition at line 46 of file OggStreamMapper.h.


Member Data Documentation

unsigned long OggStreamMapper::mDataStartsAt [protected]
 

Definition at line 64 of file OggStreamMapper.h.

OggPacket* OggStreamMapper::mFishHeadPacket [protected]
 

Definition at line 44 of file OggStreamMapper.h.

Referenced by handleFishHead().

OggDemuxSourceFilter* OggStreamMapper::mOwningFilter [protected]
 

Definition at line 68 of file OggStreamMapper.h.

Referenced by acceptOggPage().

OggDemuxPacketSourceFilter* OggStreamMapper::mParentFilter [protected]
 

Definition at line 41 of file OggStreamMapper.h.

Referenced by addNewPin().

CCritSec* OggStreamMapper::mParentFilterLock [protected]
 

Definition at line 42 of file OggStreamMapper.h.

Referenced by addNewPin().

vector<OggDemuxPacketSourcePin*> OggStreamMapper::mPins [protected]
 

Definition at line 40 of file OggStreamMapper.h.

Referenced by addNewPin(), allStreamsReady(), getMatchingPin(), getPinByIndex(), and numPins().

bool OggStreamMapper::mSendExcess [protected]
 

Definition at line 65 of file OggStreamMapper.h.

unsigned long OggStreamMapper::mSkeletonSerialNo [protected]
 

Definition at line 45 of file OggStreamMapper.h.

Referenced by handleFishHead().

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

Definition at line 66 of file OggStreamMapper.h.

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

eStreamState OggStreamMapper::mStreamState [protected]
 

Definition at line 39 of file OggStreamMapper.h.


The documentation for this class was generated from the following files:
Generated on Fri Feb 17 00:02:11 2006 for oggdsf by  doxygen 1.3.9