OggPageHeader Class Reference

#include <OggPageHeader.h>

List of all members.

Public Types

enum  ePageState {
  INVALID, BLANK, BASE_HEAD_SET, FULL_HEAD_SET,
  COMPLETE
}
enum  eHeadFlags { NO_FLAGS = 0, CONTINUATION = 1, BOS = 2, EOS = 4 }
enum  eFieldOffsets {
  CAPTURE_PATTURN = 0, STRUCTURE_VERSION = 4, HEADER_FLAGS = 5, GRANULE_POS = 6,
  SERIAL_NO = 14, SEQUENCE_NO = 18, OGG_CHECKSUM = 22, NUM_SEGMENTS = 26,
  SEGMENT_TABLE = 27
}

Public Member Functions

 OggPageHeader (void)
 ~OggPageHeader (void)
OggPageHeaderclone ()
bool rawData (unsigned char *outData, unsigned long inBuffSize)
ePageState pageState ()
void setPageState (ePageState inPageState)
bool isContinuation ()
bool isBOS ()
bool isEOS ()
unsigned long pageSize ()
unsigned long headerSize ()
unsigned long dataSize ()
unsigned long calculateDataSize ()
bool setBaseHeader (const unsigned char *inBaseHeader)
unsigned char StructureVersion ()
unsigned char HeaderFlags ()
LOOG_INT64 GranulePos ()
unsigned long StreamSerialNo ()
unsigned long PageSequenceNo ()
unsigned long CRCChecksum ()
unsigned char NumPageSegments ()
unsigned char * SegmentTable ()
void setStructureVersion (unsigned char inVal)
void setHeaderFlags (unsigned char inVal)
void setGranulePos (LOOG_INT64 inPtr)
void setGranulePos (const unsigned char *inPtr)
void setStreamSerialNo (unsigned long inVal)
void setStreamSerialNo (const unsigned char *inPtr)
void setPageSequenceNo (unsigned long inVal)
void setPageSequenceNo (const unsigned char *inPtr)
void setCRCChecksum (unsigned long inVal)
void setCRCChecksum (const unsigned char *inPtr)
void setNumPageSegments (unsigned char inVal)
void setSegmentTable (unsigned char *inPtr)
void setSegmentTable (const unsigned char *inPtr, unsigned char inNumSegs)
void setHeaderSize (unsigned long inVal)
void setDataSize (unsigned long inVal)
string toString ()

Static Public Attributes

const int MAX_NUM_SEGMENTS = 255
const int MAX_SEGMENT_SIZE = 255
const int SEGMENT_WIDTH = 1
const unsigned char OGG_CAPTURE_PATTERN_SIZE = 4
const unsigned char OGG_BASE_HEADER_SIZE = 27
const LOOG_INT64 UNKNOWN_GRANULE_POS = -1

Protected Attributes

unsigned long mPageSize
unsigned long mHeaderSize
unsigned long mDataSize
unsigned char mStructureVersion
unsigned char mHeaderFlags
LOOG_INT64 mGranulePos
unsigned long mStreamSerialNo
unsigned long mPageSequenceNo
unsigned long mCRCChecksum
unsigned char mNumPageSegments
unsigned char * mSegmentTable
ePageState mPageState

Private Member Functions

OggPageHeaderoperator= (const OggPageHeader &other)
 OggPageHeader (const OggPageHeader &other)


Member Enumeration Documentation

enum OggPageHeader::eFieldOffsets
 

Enumeration values:
CAPTURE_PATTURN 
STRUCTURE_VERSION 
HEADER_FLAGS 
GRANULE_POS 
SERIAL_NO 
SEQUENCE_NO 
OGG_CHECKSUM 
NUM_SEGMENTS 
SEGMENT_TABLE 

Definition at line 82 of file OggPageHeader.h.

enum OggPageHeader::eHeadFlags
 

Enumeration values:
NO_FLAGS 
CONTINUATION 
BOS 
EOS 

Definition at line 74 of file OggPageHeader.h.

enum OggPageHeader::ePageState
 

Enumeration values:
INVALID 
BLANK 
BASE_HEAD_SET 
FULL_HEAD_SET 
COMPLETE 

Definition at line 66 of file OggPageHeader.h.

Referenced by pageState().


Constructor & Destructor Documentation

OggPageHeader::OggPageHeader void   ) 
 

Definition at line 36 of file OggPageHeader.cpp.

Referenced by clone().

OggPageHeader::~OggPageHeader void   ) 
 

Definition at line 54 of file OggPageHeader.cpp.

OggPageHeader::OggPageHeader const OggPageHeader other  )  [private]
 


Member Function Documentation

unsigned long OggPageHeader::calculateDataSize  ) 
 

Definition at line 86 of file OggPageHeader.cpp.

References mSegmentTable, and setDataSize().

Referenced by OggDataBuffer::processSegTable().

Here is the call graph for this function:

OggPageHeader * OggPageHeader::clone  ) 
 

Definition at line 60 of file OggPageHeader.cpp.

References mCRCChecksum, mDataSize, mGranulePos, mHeaderFlags, mHeaderSize, mNumPageSegments, mPageSequenceNo, mPageSize, mPageState, mSegmentTable, mStreamSerialNo, mStructureVersion, and OggPageHeader().

Referenced by OggPage::clone().

Here is the call graph for this function:

unsigned long OggPageHeader::CRCChecksum  ) 
 

Definition at line 188 of file OggPageHeader.cpp.

unsigned long OggPageHeader::dataSize  ) 
 

Definition at line 284 of file OggPageHeader.cpp.

Referenced by OggPage::dataSize(), and OggDataBuffer::processBuffer().

LOOG_INT64 OggPageHeader::GranulePos  ) 
 

Definition at line 175 of file OggPageHeader.cpp.

References LOOG_INT64.

Referenced by OggValidationState::acceptOggPage(), OggDataBufferProcessor::acceptOggPage(), AutoOggSeekTable::acceptOggPage(), OggPacketiser::acceptOggPage(), OggStream::acceptOggPage(), OggPaginator::deliverCurrentPage(), OggMuxStream::frontTime(), pageCB(), and OggDataBuffer::processDataSegment().

unsigned char OggPageHeader::HeaderFlags  ) 
 

Definition at line 170 of file OggPageHeader.cpp.

Referenced by OggValidationState::acceptOggPage(), AnnodexRecomposer::acceptOggPage(), AutoOggSeekTable::acceptOggPage(), AutoAnxSeekTable::acceptOggPage(), OggPacketiser::acceptOggPage(), OggPaginator::addAsMuchPacketAsPossible(), OggPaginator::finishStream(), and OggDataBuffer::processDataSegment().

unsigned long OggPageHeader::headerSize  ) 
 

Definition at line 280 of file OggPageHeader.cpp.

Referenced by OggPage::createRawPageData(), and OggPage::headerSize().

bool OggPageHeader::isBOS  ) 
 

Definition at line 329 of file OggPageHeader.cpp.

References mHeaderFlags.

Referenced by OggValidationState::acceptOggPage(), OggDataBufferProcessor::acceptOggPage(), OggStreamMapper::acceptOggPage(), OggStream::acceptOggPage(), AnxStreamMapper::isAnnodexBOS(), isAnnodexBOSPage(), isAnxDataPage(), AnxStreamMapper::isAnxDataPage(), isFisheadPage(), and pageCB().

bool OggPageHeader::isContinuation  ) 
 

Definition at line 336 of file OggPageHeader.cpp.

References mHeaderFlags.

bool OggPageHeader::isEOS  ) 
 

Definition at line 332 of file OggPageHeader.cpp.

References mHeaderFlags.

Referenced by OggValidationState::acceptOggPage(), AnxStreamMapper::isAnnodexEOS(), isAnnodexEOSPage(), and pageCB().

unsigned char OggPageHeader::NumPageSegments  ) 
 

Definition at line 193 of file OggPageHeader.cpp.

Referenced by OggDataBuffer::processBaseHeader(), OggDataBuffer::processBuffer(), OggDataBuffer::processDataSegment(), and OggDataBuffer::processSegTable().

OggPageHeader& OggPageHeader::operator= const OggPageHeader other  )  [private]
 

unsigned long OggPageHeader::PageSequenceNo  ) 
 

Definition at line 184 of file OggPageHeader.cpp.

Referenced by OggValidationState::acceptOggPage(), and OggPaginator::addAsMuchPacketAsPossible().

unsigned long OggPageHeader::pageSize  ) 
 

Definition at line 276 of file OggPageHeader.cpp.

Referenced by OggPage::createRawPageData(), and OggPage::pageSize().

OggPageHeader::ePageState OggPageHeader::pageState  ) 
 

Definition at line 273 of file OggPageHeader.cpp.

References ePageState.

bool OggPageHeader::rawData unsigned char *  outData,
unsigned long  inBuffSize
 

Definition at line 288 of file OggPageHeader.cpp.

References iLE_Math::Int64ToCharArr(), mCRCChecksum, mGranulePos, mHeaderSize, mNumPageSegments, mPageSequenceNo, mSegmentTable, mStreamSerialNo, and iLE_Math::ULongToCharArr().

Referenced by OggPage::computeAndSetCRCChecksum(), OggPage::createRawPageData(), OggPaginator::setChecksum(), FishSkeleton::setChecksum(), and AnxPacketMaker::setChecksum().

Here is the call graph for this function:

unsigned char * OggPageHeader::SegmentTable  ) 
 

Definition at line 197 of file OggPageHeader.cpp.

Referenced by OggDataBuffer::processDataSegment().

bool OggPageHeader::setBaseHeader const unsigned char *  inBaseHeader  ) 
 

Definition at line 99 of file OggPageHeader.cpp.

References iLE_Math::CharArrToInt64(), iLE_Math::charArrToULong(), GRANULE_POS, mCRCChecksum, mGranulePos, mHeaderFlags, mHeaderSize, mNumPageSegments, mPageSequenceNo, mPageSize, mPageState, mStreamSerialNo, mStructureVersion, OGG_BASE_HEADER_SIZE, OGG_CAPTURE_PATTERN_SIZE, OGG_CHECKSUM, SEQUENCE_NO, and SERIAL_NO.

Referenced by OggDataBuffer::processBaseHeader().

Here is the call graph for this function:

void OggPageHeader::setCRCChecksum const unsigned char *  inPtr  ) 
 

Definition at line 244 of file OggPageHeader.cpp.

References iLE_Math::charArrToULong(), and mCRCChecksum.

Here is the call graph for this function:

void OggPageHeader::setCRCChecksum unsigned long  inVal  ) 
 

Definition at line 240 of file OggPageHeader.cpp.

References mCRCChecksum.

Referenced by OggPage::computeAndSetCRCChecksum(), OggPaginator::setChecksum(), FishSkeleton::setChecksum(), and AnxPacketMaker::setChecksum().

void OggPageHeader::setDataSize unsigned long  inVal  ) 
 

Definition at line 377 of file OggPageHeader.cpp.

References mDataSize, mHeaderSize, and mPageSize.

Referenced by AnxPageInterleaver::addAnnodexEOS(), calculateDataSize(), OggPaginator::deliverCurrentPage(), AnxPacketMaker::makeAnnodexBOS_2_0(), FishSkeleton::makeFishBone_3_0_Page(), FishSkeleton::makeFishEOS(), and FishSkeleton::makeFishHeadBOS_3_0().

void OggPageHeader::setGranulePos const unsigned char *  inPtr  ) 
 

Definition at line 218 of file OggPageHeader.cpp.

References iLE_Math::CharArrToInt64(), and mGranulePos.

Here is the call graph for this function:

void OggPageHeader::setGranulePos LOOG_INT64  inPtr  ) 
 

Definition at line 214 of file OggPageHeader.cpp.

References mGranulePos.

Referenced by OggPaginator::addPartOfPacketToPage(), OggPaginator::createFreshPage(), OggPaginator::finishStream(), AnxPacketMaker::makeAnnodexBOS_2_0(), FishSkeleton::makeFishBone_3_0_Page(), and FishSkeleton::makeFishHeadBOS_3_0().

void OggPageHeader::setHeaderFlags unsigned char  inVal  ) 
 

Definition at line 209 of file OggPageHeader.cpp.

References mHeaderFlags.

Referenced by AnxPageInterleaver::addAnnodexEOS(), OggPaginator::addAsMuchPacketAsPossible(), OggPaginator::createFreshPage(), OggPaginator::finishStream(), AnxPacketMaker::makeAnnodexBOS_2_0(), FishSkeleton::makeFishBone_3_0_Page(), FishSkeleton::makeFishEOS(), and FishSkeleton::makeFishHeadBOS_3_0().

void OggPageHeader::setHeaderSize unsigned long  inVal  ) 
 

Definition at line 372 of file OggPageHeader.cpp.

References mHeaderSize, and mPageSize.

Referenced by AnxPageInterleaver::addAnnodexEOS(), AnxPacketMaker::makeAnnodexBOS_2_0(), FishSkeleton::makeFishBone_3_0_Page(), FishSkeleton::makeFishEOS(), FishSkeleton::makeFishHeadBOS_3_0(), and setSegmentTable().

void OggPageHeader::setNumPageSegments unsigned char  inVal  ) 
 

Definition at line 249 of file OggPageHeader.cpp.

References mNumPageSegments, and mSegmentTable.

Referenced by AnxPageInterleaver::addAnnodexEOS(), AnxPacketMaker::makeAnnodexBOS_2_0(), FishSkeleton::makeFishBone_3_0_Page(), FishSkeleton::makeFishEOS(), and FishSkeleton::makeFishHeadBOS_3_0().

void OggPageHeader::setPageSequenceNo const unsigned char *  inPtr  ) 
 

Definition at line 235 of file OggPageHeader.cpp.

References iLE_Math::charArrToULong(), and mPageSequenceNo.

Here is the call graph for this function:

void OggPageHeader::setPageSequenceNo unsigned long  inVal  ) 
 

Definition at line 231 of file OggPageHeader.cpp.

References mPageSequenceNo.

Referenced by OggPaginator::createFreshPage().

void OggPageHeader::setPageState ePageState  inPageState  ) 
 

Definition at line 161 of file OggPageHeader.cpp.

References mPageState.

void OggPageHeader::setSegmentTable const unsigned char *  inPtr,
unsigned char  inNumSegs
 

Definition at line 258 of file OggPageHeader.cpp.

References mNumPageSegments, mSegmentTable, OGG_BASE_HEADER_SIZE, and setHeaderSize().

Here is the call graph for this function:

void OggPageHeader::setSegmentTable unsigned char *  inPtr  ) 
 

Definition at line 267 of file OggPageHeader.cpp.

References mSegmentTable.

Referenced by AnxPageInterleaver::addAnnodexEOS(), OggPaginator::deliverCurrentPage(), AnxPacketMaker::makeAnnodexBOS_2_0(), FishSkeleton::makeFishBone_3_0_Page(), FishSkeleton::makeFishEOS(), FishSkeleton::makeFishHeadBOS_3_0(), and OggDataBuffer::processSegTable().

void OggPageHeader::setStreamSerialNo const unsigned char *  inPtr  ) 
 

Definition at line 227 of file OggPageHeader.cpp.

References iLE_Math::charArrToULong(), and mStreamSerialNo.

Here is the call graph for this function:

void OggPageHeader::setStreamSerialNo unsigned long  inVal  ) 
 

Definition at line 223 of file OggPageHeader.cpp.

References mStreamSerialNo.

Referenced by AnxPageInterleaver::addAnnodexEOS(), OggPaginator::createFreshPage(), AnxPacketMaker::makeAnnodexBOS_2_0(), FishSkeleton::makeFishBone_3_0_Page(), FishSkeleton::makeFishEOS(), and FishSkeleton::makeFishHeadBOS_3_0().

void OggPageHeader::setStructureVersion unsigned char  inVal  ) 
 

Definition at line 204 of file OggPageHeader.cpp.

References mStructureVersion.

unsigned long OggPageHeader::StreamSerialNo  ) 
 

Definition at line 180 of file OggPageHeader.cpp.

Referenced by OggValidationState::acceptOggPage(), OggDataBufferProcessor::acceptOggPage(), AnnodexRecomposer::acceptOggPage(), AutoOggSeekTable::acceptOggPage(), AutoAnxSeekTable::acceptOggPage(), OggStreamMapper::dispatchPage(), AnxStreamMapper::handleAnxVersion_2_0(), AnxStreamMapper::isAnnodexEOS(), isAnnodexEOSPage(), OggStream::OggStream(), and pageCB().

unsigned char OggPageHeader::StructureVersion  ) 
 

Definition at line 165 of file OggPageHeader.cpp.

Referenced by OggValidationState::acceptOggPage(), and OggValidationState::error_write().

string OggPageHeader::toString  ) 
 

Definition at line 341 of file OggPageHeader.cpp.

References mCRCChecksum, mDataSize, mGranulePos, mHeaderFlags, mHeaderSize, mNumPageSegments, mPageSequenceNo, mPageSize, mStreamSerialNo, mStructureVersion, and StringHelper::numToString().

Referenced by pageCB().

Here is the call graph for this function:


Member Data Documentation

const int OggPageHeader::MAX_NUM_SEGMENTS = 255 [static]
 

Definition at line 59 of file OggPageHeader.h.

const int OggPageHeader::MAX_SEGMENT_SIZE = 255 [static]
 

Definition at line 60 of file OggPageHeader.h.

unsigned long OggPageHeader::mCRCChecksum [protected]
 

Definition at line 158 of file OggPageHeader.h.

Referenced by clone(), rawData(), setBaseHeader(), setCRCChecksum(), and toString().

unsigned long OggPageHeader::mDataSize [protected]
 

Definition at line 150 of file OggPageHeader.h.

Referenced by clone(), setDataSize(), and toString().

LOOG_INT64 OggPageHeader::mGranulePos [protected]
 

Definition at line 155 of file OggPageHeader.h.

Referenced by clone(), rawData(), setBaseHeader(), setGranulePos(), and toString().

unsigned char OggPageHeader::mHeaderFlags [protected]
 

Definition at line 154 of file OggPageHeader.h.

Referenced by clone(), isBOS(), isContinuation(), isEOS(), setBaseHeader(), setHeaderFlags(), and toString().

unsigned long OggPageHeader::mHeaderSize [protected]
 

Definition at line 149 of file OggPageHeader.h.

Referenced by clone(), rawData(), setBaseHeader(), setDataSize(), setHeaderSize(), and toString().

unsigned char OggPageHeader::mNumPageSegments [protected]
 

Definition at line 159 of file OggPageHeader.h.

Referenced by clone(), rawData(), setBaseHeader(), setNumPageSegments(), setSegmentTable(), and toString().

unsigned long OggPageHeader::mPageSequenceNo [protected]
 

Definition at line 157 of file OggPageHeader.h.

Referenced by clone(), rawData(), setBaseHeader(), setPageSequenceNo(), and toString().

unsigned long OggPageHeader::mPageSize [protected]
 

Definition at line 148 of file OggPageHeader.h.

Referenced by clone(), setBaseHeader(), setDataSize(), setHeaderSize(), and toString().

ePageState OggPageHeader::mPageState [protected]
 

Definition at line 165 of file OggPageHeader.h.

Referenced by clone(), setBaseHeader(), and setPageState().

unsigned char* OggPageHeader::mSegmentTable [protected]
 

Definition at line 162 of file OggPageHeader.h.

Referenced by calculateDataSize(), clone(), rawData(), setNumPageSegments(), and setSegmentTable().

unsigned long OggPageHeader::mStreamSerialNo [protected]
 

Definition at line 156 of file OggPageHeader.h.

Referenced by clone(), rawData(), setBaseHeader(), setStreamSerialNo(), and toString().

unsigned char OggPageHeader::mStructureVersion [protected]
 

Definition at line 153 of file OggPageHeader.h.

Referenced by clone(), setBaseHeader(), setStructureVersion(), and toString().

const unsigned char OggPageHeader::OGG_BASE_HEADER_SIZE = 27 [static]
 

Definition at line 64 of file OggPageHeader.h.

Referenced by setBaseHeader(), and setSegmentTable().

const unsigned char OggPageHeader::OGG_CAPTURE_PATTERN_SIZE = 4 [static]
 

Definition at line 63 of file OggPageHeader.h.

Referenced by setBaseHeader().

const int OggPageHeader::SEGMENT_WIDTH = 1 [static]
 

Definition at line 61 of file OggPageHeader.h.

const LOOG_INT64 OggPageHeader::UNKNOWN_GRANULE_POS = -1 [static]
 

Definition at line 65 of file OggPageHeader.h.


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