OggValidationState Class Reference

#include <OggValidationState.h>

Inheritance diagram for OggValidationState:

Inheritance graph
[legend]
Collaboration diagram for OggValidationState:

Collaboration graph
[legend]
List of all members.

Public Types

enum  eOggValidationErrors {
  OVE_OK, OVE_STRUCTURE_VERSION_NOT_ZERO, OVE_GRANULE_POS_DECREASED, OVE_MORE_THAN_ONE_BOS,
  OVE_BOS_PAGE_NOT_AT_START, OVE_MORE_THAN_ONE_EOS, OVE_EOS_BEFORE_BOS, OVE_DATA_AFTER_VALID_STREAM,
  OVE_SEQUENCE_NO_REPEATED, OVE_SEQUENCE_NO_DECREASED, OVE_UNUSED_HEADER_BITS_SET, OVE_CONTINUATION_FLAG_EXPECTED,
  OVE_UNEXPECTED_CONTINUATION_FLAG, OVE_BOS_
}
enum  eOggValidationState {
  FVS_OK, FVS_SEEN_NOTHING, FVS_AWAITING_BOS, FVS_AWAITING_EOS,
  FVS_INVALID
}

Public Member Functions

 OggValidationState (void)
virtual ~OggValidationState (void)
virtual bool acceptOggPage (OggPage *inOggPage)
OggStreamValidationStategetStream (unsigned long inIndex)
OggStreamValidationStategetStreamBySerialNo (unsigned long inSerialNo)
unsigned long numStreams ()
bool notify (bool inIsBOS, bool inIsEOS)
void error_write (short int inErrNo, OggPage *inOggPage, OggStreamValidationState *inStreamState)
eOggValidationState validationState ()
bool isValid ()

Public Attributes

vector< OggStreamValidationState * > mStreams

Protected Attributes

bool mExpectingBOS
unsigned long mNumBOS
unsigned long mNumEOS
bool mIsValid
eOggValidationState mState

Member Enumeration Documentation

enum OggValidationState::eOggValidationErrors
 

Enumeration values:
OVE_OK 
OVE_STRUCTURE_VERSION_NOT_ZERO 
OVE_GRANULE_POS_DECREASED 
OVE_MORE_THAN_ONE_BOS 
OVE_BOS_PAGE_NOT_AT_START 
OVE_MORE_THAN_ONE_EOS 
OVE_EOS_BEFORE_BOS 
OVE_DATA_AFTER_VALID_STREAM 
OVE_SEQUENCE_NO_REPEATED 
OVE_SEQUENCE_NO_DECREASED 
OVE_UNUSED_HEADER_BITS_SET 
OVE_CONTINUATION_FLAG_EXPECTED 
OVE_UNEXPECTED_CONTINUATION_FLAG 
OVE_BOS_ 

Definition at line 13 of file OggValidationState.h.

enum OggValidationState::eOggValidationState
 

Enumeration values:
FVS_OK 
FVS_SEEN_NOTHING 
FVS_AWAITING_BOS 
FVS_AWAITING_EOS 
FVS_INVALID 

Definition at line 37 of file OggValidationState.h.

Referenced by validationState().


Constructor & Destructor Documentation

OggValidationState::OggValidationState void   ) 
 

Definition at line 4 of file OggValidationState.cpp.

References false.

OggValidationState::~OggValidationState void   )  [virtual]
 

Definition at line 14 of file OggValidationState.cpp.


Member Function Documentation

bool OggValidationState::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 133 of file OggValidationState.cpp.

References error_write(), OggPage::getPacket(), getStreamBySerialNo(), OggPageHeader::GranulePos(), OggPage::header(), OggPageHeader::HeaderFlags(), OggPageHeader::isBOS(), OggPageHeader::isEOS(), OggPacket::isTruncated(), OggStreamValidationState::mGranulePosUpto, mIsValid, OggStreamValidationState::mSeenAnything, OggStreamValidationState::mSeenBOS, OggStreamValidationState::mSeenEOS, OggStreamValidationState::mSequenceNoUpto, OggStreamValidationState::mState, notify(), OggPage::numPackets(), OVE_BOS_PAGE_NOT_AT_START, OVE_CONTINUATION_FLAG_EXPECTED, OVE_DATA_AFTER_VALID_STREAM, OVE_EOS_BEFORE_BOS, OVE_GRANULE_POS_DECREASED, OVE_MORE_THAN_ONE_BOS, OVE_MORE_THAN_ONE_EOS, OVE_SEQUENCE_NO_DECREASED, OVE_STRUCTURE_VERSION_NOT_ZERO, OVE_UNEXPECTED_CONTINUATION_FLAG, OVE_UNUSED_HEADER_BITS_SET, OggPageHeader::PageSequenceNo(), OggPageHeader::StreamSerialNo(), and OggPageHeader::StructureVersion().

Here is the call graph for this function:

void OggValidationState::error_write short int  inErrNo,
OggPage inOggPage,
OggStreamValidationState inStreamState
 

Definition at line 303 of file OggValidationState.cpp.

References OggPage::header(), OggStreamValidationState::mErrorCount, OVE_BOS_PAGE_NOT_AT_START, OVE_CONTINUATION_FLAG_EXPECTED, OVE_DATA_AFTER_VALID_STREAM, OVE_EOS_BEFORE_BOS, OVE_MORE_THAN_ONE_BOS, OVE_MORE_THAN_ONE_EOS, OVE_OK, OVE_STRUCTURE_VERSION_NOT_ZERO, OVE_UNEXPECTED_CONTINUATION_FLAG, OVE_UNUSED_HEADER_BITS_SET, and OggPageHeader::StructureVersion().

Referenced by acceptOggPage(), and main().

Here is the call graph for this function:

OggStreamValidationState * OggValidationState::getStream unsigned long  inIndex  ) 
 

Definition at line 39 of file OggValidationState.cpp.

References mStreams.

OggStreamValidationState * OggValidationState::getStreamBySerialNo unsigned long  inSerialNo  ) 
 

Definition at line 19 of file OggValidationState.cpp.

References OggStreamValidationState::mSerialNo, and mStreams.

Referenced by acceptOggPage().

bool OggValidationState::isValid  ) 
 

Definition at line 130 of file OggValidationState.cpp.

Referenced by main().

bool OggValidationState::notify bool  inIsBOS,
bool  inIsEOS
 

Definition at line 50 of file OggValidationState.cpp.

References FVS_AWAITING_BOS, mIsValid, mNumBOS, mNumEOS, mState, and mStreams.

Referenced by acceptOggPage().

unsigned long OggValidationState::numStreams  ) 
 

Definition at line 35 of file OggValidationState.cpp.

References mStreams.

OggValidationState::eOggValidationState OggValidationState::validationState  ) 
 

Definition at line 300 of file OggValidationState.cpp.

References eOggValidationState.


Member Data Documentation

bool OggValidationState::mExpectingBOS [protected]
 

Definition at line 62 of file OggValidationState.h.

bool OggValidationState::mIsValid [protected]
 

Definition at line 65 of file OggValidationState.h.

Referenced by acceptOggPage(), and notify().

unsigned long OggValidationState::mNumBOS [protected]
 

Definition at line 63 of file OggValidationState.h.

Referenced by notify().

unsigned long OggValidationState::mNumEOS [protected]
 

Definition at line 64 of file OggValidationState.h.

Referenced by notify().

eOggValidationState OggValidationState::mState [protected]
 

Definition at line 66 of file OggValidationState.h.

Referenced by notify().

vector<OggStreamValidationState*> OggValidationState::mStreams
 

Definition at line 53 of file OggValidationState.h.

Referenced by getStream(), getStreamBySerialNo(), notify(), and numStreams().


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