21#ifndef _MATROSKA_FILE_PARSER_HH
23#ifndef _STREAM_PARSER_HH
26#ifndef _MATROSKA_FILE_HH
29#ifndef _EBML_NUMBER_HH
59 static void continueParsing(
void* clientData,
unsigned char* ptr,
unsigned size,
struct timeval presentationTime);
@ DELIVERING_FRAME_WITHIN_BLOCK
void() onCloseFunc(void *clientData)
u_int64_t fCurOffsetInFile
Boolean parseEBMLIdAndSize(EBMLId &id, EBMLDataSize &size)
FramedSource * fInputSource
void skipHeader(EBMLDataSize const &size)
unsigned fSavedCurOffsetWithinFrame
MatroskaParseState fCurrentParseState
virtual ~MatroskaFileParser()
u_int64_t fNumHeaderBytesToSkip
unsigned fNumFramesInBlock
Boolean parseEBMLVal_binary(EBMLDataSize &size, u_int8_t *&result)
Boolean parseEBMLVal_float(EBMLDataSize &size, float &result)
double fPresentationTimeOffset
unsigned * fFrameSizesWithinBlock
Boolean parseEBMLVal_string(EBMLDataSize &size, char *&result)
Boolean parseStartOfFile()
u_int64_t fSavedCurOffsetInFile
void getCommonFrameBytes(MatroskaTrack *track, u_int8_t *to, unsigned numBytesToGet, unsigned numBytesToSkip)
virtual void restoreSavedParserState()
void seekToTime(double &seekNPT)
void skipRemainingHeaderBytes(Boolean isContinuation)
FramedSource::onCloseFunc * fOnEndFunc
unsigned fClusterTimecode
u_int64_t fLimitOffsetInFile
MatroskaDemux * fOurDemux
Boolean deliverFrameWithinBlock()
MatroskaFileParser(MatroskaFile &ourFile, FramedSource *inputSource, FramedSource::onCloseFunc *onEndFunc, void *onEndClientData, MatroskaDemux *ourDemux=NULL)
void seekToFilePosition(u_int64_t offsetInFile)
unsigned fNextFrameNumberToDeliver
Boolean parseEBMLVal_unsigned(EBMLDataSize &size, unsigned &result)
unsigned fBlockTrackNumber
static void continueParsing(void *clientData, unsigned char *ptr, unsigned size, struct timeval presentationTime)
Boolean parseEBMLNumber(EBMLNumber &num)
void resetPresentationTimes()
unsigned fCurFrameNumBytesToGet
void stopAnyDeliveryForTrack(unsigned trackNumber)
unsigned fCurOffsetWithinFrame
void resetStateAfterSeeking()
Boolean parseEBMLVal_unsigned64(EBMLDataSize &size, u_int64_t &result)
unsigned fCurFrameNumBytesToSkip