AnxPageInterleaver Class Reference

#include <AnxPageInterleaver.h>

Inheritance diagram for AnxPageInterleaver:

Inheritance graph
[legend]
Collaboration diagram for AnxPageInterleaver:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AnxPageInterleaver (IOggCallback *inFileWriter, INotifyComplete *inNotifier, unsigned long inVersionMajor, unsigned long inVersionMinor, AnxMuxFilter *inParentFilter)
virtual ~AnxPageInterleaver (void)
virtual void processData ()
virtual OggMuxStreamnewStream ()
 Create a new OggMuxStream. You need one OggMuxStream per logical bitstream you wish to interleave.
virtual LOOG_INT64 progressTime ()
 Returns the mux progress in 100 nanoseconds.
virtual LOOG_INT64 bytesWritten ()
 Returns the number of bytes written.
virtual void notifyArrival ()
 Implement this to be notified when "something" arrives.

Protected Member Functions

void addAnnodex_2_0_BOS ()
void addAllAnxData_2_0_BOS ()
void addAnnodexEOS ()
bool gotAllHeaders ()
bool gotAllSecondaryHeaders ()
void letsGetFishy ()
virtual void writeLowest ()
 Writes the lowest stream out.
virtual bool isProcessable ()
 Returns if there is enough data to do some interleaving.
virtual bool isAllEOS ()
 Returns true if all the streams are at the end.
virtual bool isAllEmpty ()
 Returns true if all the streams are empty.

Protected Attributes

bool mIsAnxSetup
AnxMuxFiltermParentFilter
unsigned long mVersionMajor
unsigned long mVersionMinor
unsigned long mAnxSerialNo
vector< OggMuxStream * > mInputStreams
IOggCallbackmFileWriter
INotifyCompletemNotifier
LOOG_INT64 mBytesWritten
LOOG_INT64 mProgressTime
fstream debugLog

Constructor & Destructor Documentation

AnxPageInterleaver::AnxPageInterleaver IOggCallback inFileWriter,
INotifyComplete inNotifier,
unsigned long  inVersionMajor,
unsigned long  inVersionMinor,
AnxMuxFilter inParentFilter
 

Definition at line 37 of file AnxPageInterleaver.cpp.

References false, and mAnxSerialNo.

AnxPageInterleaver::~AnxPageInterleaver void   )  [virtual]
 

Definition at line 51 of file AnxPageInterleaver.cpp.


Member Function Documentation

void AnxPageInterleaver::addAllAnxData_2_0_BOS  )  [protected]
 

Definition at line 78 of file AnxPageInterleaver.cpp.

References IOggCallback::acceptOggPage(), and OggPage::pageSize().

Referenced by processData().

Here is the call graph for this function:

void AnxPageInterleaver::addAnnodex_2_0_BOS  )  [protected]
 

Definition at line 56 of file AnxPageInterleaver.cpp.

References IOggCallback::acceptOggPage(), AnxPacketMaker::makeAnnodexBOS_2_0(), mAnxSerialNo, and OggPage::pageSize().

Referenced by processData().

Here is the call graph for this function:

void AnxPageInterleaver::addAnnodexEOS  )  [protected]
 

Definition at line 89 of file AnxPageInterleaver.cpp.

References IOggCallback::acceptOggPage(), OggPage::addPacket(), OggPage::header(), mAnxSerialNo, OggPage::pageSize(), AnxPacketMaker::setChecksum(), OggPageHeader::setDataSize(), OggPageHeader::setHeaderFlags(), OggPageHeader::setHeaderSize(), OggPageHeader::setNumPageSegments(), OggPageHeader::setSegmentTable(), and OggPageHeader::setStreamSerialNo().

Referenced by processData().

Here is the call graph for this function:

LOOG_INT64 OggPageInterleaver::bytesWritten  )  [virtual, inherited]
 

Returns the number of bytes written.

Definition at line 231 of file OggPageInterleaver.cpp.

References LOOG_INT64.

bool AnxPageInterleaver::gotAllHeaders  )  [protected]
 

Definition at line 119 of file AnxPageInterleaver.cpp.

Referenced by processData().

bool AnxPageInterleaver::gotAllSecondaryHeaders  )  [protected]
 

Definition at line 140 of file AnxPageInterleaver.cpp.

Referenced by processData().

bool OggPageInterleaver::isAllEmpty  )  [protected, virtual, inherited]
 

Returns true if all the streams are empty.

Definition at line 267 of file OggPageInterleaver.cpp.

References OggPageInterleaver::mInputStreams.

Referenced by OggPageInterleaver::processData().

bool OggPageInterleaver::isAllEOS  )  [protected, virtual, inherited]
 

Returns true if all the streams are at the end.

Definition at line 248 of file OggPageInterleaver.cpp.

References OggPageInterleaver::mInputStreams.

Referenced by OggPageInterleaver::processData().

bool OggPageInterleaver::isProcessable  )  [protected, virtual, inherited]
 

Returns if there is enough data to do some interleaving.

Definition at line 235 of file OggPageInterleaver.cpp.

References OggPageInterleaver::mInputStreams.

Referenced by OggPageInterleaver::processData().

void AnxPageInterleaver::letsGetFishy  )  [protected]
 

Definition at line 161 of file AnxPageInterleaver.cpp.

References IOggCallback::acceptOggPage(), OggMuxFilter::GetPin(), OggMuxFilter::GetPinCount(), FishSkeleton::makeFishBone_3_0_Page(), FishSkeleton::makeFishHeadBOS_3_0(), AnxMuxInputPin::mFishBonePacket, mParentFilter, mVersionMajor, and mVersionMinor.

Referenced by processData().

Here is the call graph for this function:

OggMuxStream * OggPageInterleaver::newStream  )  [virtual, inherited]
 

Create a new OggMuxStream. You need one OggMuxStream per logical bitstream you wish to interleave.

Definition at line 55 of file OggPageInterleaver.cpp.

References OggPageInterleaver::mInputStreams.

Referenced by OggMuxFilter::addAnotherPin(), AnxMuxFilter::addAnotherPin(), AnxMuxFilter::AnxMuxFilter(), and OggMuxFilter::OggMuxFilter().

void OggPageInterleaver::notifyArrival  )  [virtual, inherited]
 

Implement this to be notified when "something" arrives.

Implements INotifyArrival.

Definition at line 61 of file OggPageInterleaver.cpp.

References OggPageInterleaver::debugLog, and OggPageInterleaver::processData().

Here is the call graph for this function:

void AnxPageInterleaver::processData  )  [virtual]
 

Reimplemented from OggPageInterleaver.

Definition at line 204 of file AnxPageInterleaver.cpp.

References addAllAnxData_2_0_BOS(), addAnnodex_2_0_BOS(), addAnnodexEOS(), gotAllHeaders(), gotAllSecondaryHeaders(), letsGetFishy(), mIsAnxSetup, mVersionMajor, mVersionMinor, and OggPageInterleaver::processData().

Here is the call graph for this function:

LOOG_INT64 OggPageInterleaver::progressTime  )  [virtual, inherited]
 

Returns the mux progress in 100 nanoseconds.

Definition at line 226 of file OggPageInterleaver.cpp.

References LOOG_INT64.

Referenced by OggMuxFilter::GetCurrentPosition(), and OggMuxFilter::GetPositions().

void OggPageInterleaver::writeLowest  )  [protected, virtual, inherited]
 

Writes the lowest stream out.

Definition at line 128 of file OggPageInterleaver.cpp.

References IOggCallback::acceptOggPage(), LOOG_INT64, OggPageInterleaver::mBytesWritten, OggPageInterleaver::mFileWriter, OggPageInterleaver::mInputStreams, OggPageInterleaver::mProgressTime, OggMuxStream::packetsSent(), OggPage::pageSize(), OggMuxStream::popFront(), OggMuxStream::scaledFrontTime(), and OggMuxStream::sentAllHeaders().

Referenced by OggPageInterleaver::processData().

Here is the call graph for this function:


Member Data Documentation

fstream OggPageInterleaver::debugLog [protected, inherited]
 

Definition at line 106 of file OggPageInterleaver.h.

Referenced by OggPageInterleaver::notifyArrival(), OggPageInterleaver::OggPageInterleaver(), OggPageInterleaver::processData(), and OggPageInterleaver::~OggPageInterleaver().

unsigned long AnxPageInterleaver::mAnxSerialNo [protected]
 

Definition at line 71 of file AnxPageInterleaver.h.

Referenced by addAnnodex_2_0_BOS(), addAnnodexEOS(), and AnxPageInterleaver().

LOOG_INT64 OggPageInterleaver::mBytesWritten [protected, inherited]
 

Definition at line 103 of file OggPageInterleaver.h.

Referenced by OggPageInterleaver::writeLowest().

IOggCallback* OggPageInterleaver::mFileWriter [protected, inherited]
 

Definition at line 100 of file OggPageInterleaver.h.

Referenced by OggPageInterleaver::writeLowest().

vector<OggMuxStream*> OggPageInterleaver::mInputStreams [protected, inherited]
 

Definition at line 99 of file OggPageInterleaver.h.

Referenced by OggPageInterleaver::isAllEmpty(), OggPageInterleaver::isAllEOS(), OggPageInterleaver::isProcessable(), OggPageInterleaver::newStream(), and OggPageInterleaver::writeLowest().

bool AnxPageInterleaver::mIsAnxSetup [protected]
 

Definition at line 64 of file AnxPageInterleaver.h.

Referenced by processData().

INotifyComplete* OggPageInterleaver::mNotifier [protected, inherited]
 

Definition at line 101 of file OggPageInterleaver.h.

Referenced by OggPageInterleaver::processData().

AnxMuxFilter* AnxPageInterleaver::mParentFilter [protected]
 

Definition at line 66 of file AnxPageInterleaver.h.

Referenced by letsGetFishy().

LOOG_INT64 OggPageInterleaver::mProgressTime [protected, inherited]
 

Definition at line 104 of file OggPageInterleaver.h.

Referenced by OggPageInterleaver::writeLowest().

unsigned long AnxPageInterleaver::mVersionMajor [protected]
 

Definition at line 68 of file AnxPageInterleaver.h.

Referenced by letsGetFishy(), and processData().

unsigned long AnxPageInterleaver::mVersionMinor [protected]
 

Definition at line 69 of file AnxPageInterleaver.h.

Referenced by letsGetFishy(), and processData().


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