AutoOggChainGranuleSeekTable Class Reference

#include <AutoOggChainGranuleSeekTable.h>

Inheritance diagram for AutoOggChainGranuleSeekTable:

Inheritance graph
[legend]
Collaboration diagram for AutoOggChainGranuleSeekTable:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual bool acceptOggPage (OggPage *inOggPage)
bool addStream (unsigned long inSerialNo, IOggDecoderSeek *inSeekInterface)
 AutoOggChainGranuleSeekTable (string inFilename)
virtual bool buildTable ()
 Builds the actual seek table: only works if we have random access to the file.
bool enabled ()
LOOG_INT64 fileDuration ()
 The duration of the file, in DirectShow time units.
OggGranuleSeekTable::tSeekPair seekPos (LOOG_INT64 inTime)
virtual ~AutoOggChainGranuleSeekTable (void)

Protected Member Functions

sStreamMapping getMapping (unsigned long inSerialNo)

Protected Attributes

LOOG_INT64 mDuration
fstream mFile
string mFilename
unsigned long mFilePos
bool mIsEnabled
OggDataBuffermOggDemux
unsigned long mPreviousFilePos
vector< sStreamMappingmStreamMaps

Constructor & Destructor Documentation

AutoOggChainGranuleSeekTable::AutoOggChainGranuleSeekTable string  inFilename  ) 
 

Definition at line 4 of file AutoOggChainGranuleSeekTable.cpp.

References false, mOggDemux, and OggDataBuffer::registerVirtualCallback().

Here is the call graph for this function:

AutoOggChainGranuleSeekTable::~AutoOggChainGranuleSeekTable void   )  [virtual]
 

Definition at line 17 of file AutoOggChainGranuleSeekTable.cpp.

References mStreamMaps.


Member Function Documentation

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

Definition at line 91 of file AutoOggChainGranuleSeekTable.cpp.

References OggGranuleSeekTable::addSeekPoint(), IOggDecoderSeek::convertGranuleToTime(), getMapping(), OggPage::getPacket(), OggPageHeader::GranulePos(), OggPage::header(), OggPageHeader::isContinuation(), OggPacket::isTruncated(), LOOG_INT64, mDuration, mFilePos, mPreviousFilePos, AutoOggChainGranuleSeekTable::sStreamMapping::mSeekInterface, AutoOggChainGranuleSeekTable::sStreamMapping::mSeekTable, OggPage::numPackets(), OggPage::pageSize(), and OggPageHeader::StreamSerialNo().

Here is the call graph for this function:

bool AutoOggChainGranuleSeekTable::addStream unsigned long  inSerialNo,
IOggDecoderSeek inSeekInterface
 

Definition at line 161 of file AutoOggChainGranuleSeekTable.cpp.

References AutoOggChainGranuleSeekTable::sStreamMapping::mSeekInterface, AutoOggChainGranuleSeekTable::sStreamMapping::mSeekTable, AutoOggChainGranuleSeekTable::sStreamMapping::mSerialNo, and mStreamMaps.

Referenced by OggDemuxPacketSourceFilter::notifyPinConnected().

bool AutoOggChainGranuleSeekTable::buildTable  )  [virtual]
 

Builds the actual seek table: only works if we have random access to the file.

Definition at line 27 of file AutoOggChainGranuleSeekTable.cpp.

References OggDataBuffer::feed(), mFile, mFilename, mIsEnabled, and mOggDemux.

Referenced by OggDemuxPacketSourceFilter::notifyPinConnected().

Here is the call graph for this function:

bool AutoOggChainGranuleSeekTable::enabled  )  [inline]
 

Definition at line 24 of file AutoOggChainGranuleSeekTable.h.

Referenced by OggDemuxPacketSourceFilter::GetAvailable(), OggDemuxPacketSourceFilter::GetCapabilities(), OggDemuxPacketSourceFilter::GetDuration(), OggDemuxPacketSourceFilter::GetStopPosition(), and OggDemuxPacketSourceFilter::SetPositions().

LOOG_INT64 AutoOggChainGranuleSeekTable::fileDuration  ) 
 

The duration of the file, in DirectShow time units.

Definition at line 87 of file AutoOggChainGranuleSeekTable.cpp.

References LOOG_INT64.

Referenced by OggDemuxPacketSourceFilter::GetAvailable(), OggDemuxPacketSourceFilter::GetDuration(), OggDemuxPacketSourceFilter::GetStopPosition(), and OggDemuxPacketSourceFilter::SetPositions().

AutoOggChainGranuleSeekTable::sStreamMapping AutoOggChainGranuleSeekTable::getMapping unsigned long  inSerialNo  )  [protected]
 

Definition at line 146 of file AutoOggChainGranuleSeekTable.cpp.

References AutoOggChainGranuleSeekTable::sStreamMapping::mSeekInterface, AutoOggChainGranuleSeekTable::sStreamMapping::mSeekTable, AutoOggChainGranuleSeekTable::sStreamMapping::mSerialNo, and mStreamMaps.

Referenced by acceptOggPage().

OggGranuleSeekTable::tSeekPair AutoOggChainGranuleSeekTable::seekPos LOOG_INT64  inTime  ) 
 

Definition at line 52 of file AutoOggChainGranuleSeekTable.cpp.

References LOOG_INT64, mStreamMaps, and OggGranuleSeekTable::tSeekPair.

Referenced by OggDemuxPacketSourceFilter::SetPositions().


Member Data Documentation

LOOG_INT64 AutoOggChainGranuleSeekTable::mDuration [protected]
 

Definition at line 41 of file AutoOggChainGranuleSeekTable.h.

Referenced by acceptOggPage().

fstream AutoOggChainGranuleSeekTable::mFile [protected]
 

Definition at line 43 of file AutoOggChainGranuleSeekTable.h.

Referenced by buildTable().

string AutoOggChainGranuleSeekTable::mFilename [protected]
 

Definition at line 44 of file AutoOggChainGranuleSeekTable.h.

Referenced by buildTable().

unsigned long AutoOggChainGranuleSeekTable::mFilePos [protected]
 

Definition at line 45 of file AutoOggChainGranuleSeekTable.h.

Referenced by acceptOggPage().

bool AutoOggChainGranuleSeekTable::mIsEnabled [protected]
 

Definition at line 39 of file AutoOggChainGranuleSeekTable.h.

Referenced by buildTable().

OggDataBuffer* AutoOggChainGranuleSeekTable::mOggDemux [protected]
 

Definition at line 48 of file AutoOggChainGranuleSeekTable.h.

Referenced by AutoOggChainGranuleSeekTable(), and buildTable().

unsigned long AutoOggChainGranuleSeekTable::mPreviousFilePos [protected]
 

Definition at line 47 of file AutoOggChainGranuleSeekTable.h.

Referenced by acceptOggPage().

vector<sStreamMapping> AutoOggChainGranuleSeekTable::mStreamMaps [protected]
 

Definition at line 37 of file AutoOggChainGranuleSeekTable.h.

Referenced by addStream(), getMapping(), seekPos(), and ~AutoOggChainGranuleSeekTable().


The documentation for this class was generated from the following files:
Generated on Thu Feb 16 23:58:51 2006 for oggdsf by  doxygen 1.3.9