#include <StreamParser.hh>
Inheritance diagram for StreamParser:


Public Member Functions | |
| virtual void | flushInput () |
Protected Types | |
| typedef void( | clientContinueFunc )(void *clientData, unsigned char *ptr, unsigned size, struct timeval presentationTime) |
Protected Member Functions | |
| StreamParser (FramedSource *inputSource, FramedSource::onCloseFunc *onInputCloseFunc, void *onInputCloseClientData, clientContinueFunc *clientContinueFunc, void *clientContinueClientData) | |
| virtual | ~StreamParser () |
| void | saveParserState () |
| virtual void | restoreSavedParserState () |
| u_int32_t | get4Bytes () |
| u_int32_t | test4Bytes () |
| u_int16_t | get2Bytes () |
| u_int8_t | get1Byte () |
| u_int8_t | test1Byte (unsigned numBytes) |
| void | getBytes (u_int8_t *to, unsigned numBytes) |
| void | testBytes (u_int8_t *to, unsigned numBytes) |
| void | skipBytes (unsigned numBytes) |
| void | skipBits (unsigned numBits) |
| unsigned | getBits (unsigned numBits) |
| unsigned | curOffset () const |
| unsigned & | totNumValidBytes () |
| Boolean | haveSeenEOF () const |
| unsigned | bankSize () const |
Private Member Functions | |
| unsigned char * | curBank () |
| unsigned char * | nextToParse () |
| unsigned char * | lastParsed () |
| void | ensureValidBytes (unsigned numBytesNeeded) |
| void | ensureValidBytes1 (unsigned numBytesNeeded) |
| void | afterGettingBytes1 (unsigned numBytesRead, struct timeval presentationTime) |
| void | onInputClosure1 () |
Static Private Member Functions | |
| static void | afterGettingBytes (void *clientData, unsigned numBytesRead, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds) |
| static void | onInputClosure (void *clientData) |
Private Attributes | |
| FramedSource * | fInputSource |
| FramedSource::onCloseFunc * | fClientOnInputCloseFunc |
| void * | fClientOnInputCloseClientData |
| clientContinueFunc * | fClientContinueFunc |
| void * | fClientContinueClientData |
| unsigned char * | fBank [2] |
| unsigned char | fCurBankNum |
| unsigned char * | fCurBank |
| unsigned | fSavedParserIndex |
| unsigned char | fSavedRemainingUnparsedBits |
| unsigned | fCurParserIndex |
| unsigned char | fRemainingUnparsedBits |
| unsigned | fTotNumValidBytes |
| Boolean | fHaveSeenEOF |
| timeval | fLastSeenPresentationTime |
Definition at line 28 of file StreamParser.hh.
typedef void( StreamParser::clientContinueFunc)(void *clientData, unsigned char *ptr, unsigned size, struct timeval presentationTime) [protected] |
Definition at line 33 of file StreamParser.hh.
| StreamParser::StreamParser | ( | FramedSource * | inputSource, | |
| FramedSource::onCloseFunc * | onInputCloseFunc, | |||
| void * | onInputCloseClientData, | |||
| clientContinueFunc * | clientContinueFunc, | |||
| void * | clientContinueClientData | |||
| ) | [protected] |
Definition at line 34 of file StreamParser.cpp.
References BANK_SIZE, fBank, fCurBank, fCurBankNum, and fLastSeenPresentationTime.
00039 : fInputSource(inputSource), fClientOnInputCloseFunc(onInputCloseFunc), 00040 fClientOnInputCloseClientData(onInputCloseClientData), 00041 fClientContinueFunc(clientContinueFunc), 00042 fClientContinueClientData(clientContinueClientData), 00043 fSavedParserIndex(0), fSavedRemainingUnparsedBits(0), 00044 fCurParserIndex(0), fRemainingUnparsedBits(0), 00045 fTotNumValidBytes(0), fHaveSeenEOF(False) { 00046 fBank[0] = new unsigned char[BANK_SIZE]; 00047 fBank[1] = new unsigned char[BANK_SIZE]; 00048 fCurBankNum = 0; 00049 fCurBank = fBank[fCurBankNum]; 00050 00051 fLastSeenPresentationTime.tv_sec = 0; fLastSeenPresentationTime.tv_usec = 0; 00052 }
| StreamParser::~StreamParser | ( | ) | [protected, virtual] |
| void StreamParser::flushInput | ( | ) | [virtual] |
Reimplemented in H264VideoStreamParser, MPEG1or2VideoStreamParser, and MPEG4VideoStreamParser.
Definition at line 28 of file StreamParser.cpp.
References fCurParserIndex, fRemainingUnparsedBits, fSavedParserIndex, fSavedRemainingUnparsedBits, and fTotNumValidBytes.
Referenced by MPEGVideoStreamFramer::flushInput(), MPEG4VideoStreamParser::flushInput(), MPEG1or2VideoStreamParser::flushInput(), MPEG1or2Demux::flushInput(), MPEG1or2AudioStreamFramer::flushInput(), H264VideoStreamParser::flushInput(), AC3AudioStreamFramer::flushInput(), and MatroskaFileParser::resetStateAfterSeeking().
00028 { 00029 fCurParserIndex = fSavedParserIndex = 0; 00030 fSavedRemainingUnparsedBits = fRemainingUnparsedBits = 0; 00031 fTotNumValidBytes = 0; 00032 }
| void StreamParser::saveParserState | ( | ) | [protected] |
Definition at line 58 of file StreamParser.cpp.
References fCurParserIndex, fRemainingUnparsedBits, fSavedParserIndex, and fSavedRemainingUnparsedBits.
Referenced by MPEG1or2AudioStreamParser::parse(), AC3AudioStreamParser::parseFrame(), MPEGVideoStreamParser::setParseState(), MPEGProgramStreamParser::setParseState(), MatroskaFileParser::setParseState(), and H263plusVideoStreamParser::setParseState().
00058 { 00059 fSavedParserIndex = fCurParserIndex; 00060 fSavedRemainingUnparsedBits = fRemainingUnparsedBits; 00061 }
| void StreamParser::restoreSavedParserState | ( | ) | [protected, virtual] |
Reimplemented in H263plusVideoStreamParser, MatroskaFileParser, and MPEGVideoStreamParser.
Definition at line 63 of file StreamParser.cpp.
References fCurParserIndex, fRemainingUnparsedBits, fSavedParserIndex, and fSavedRemainingUnparsedBits.
Referenced by afterGettingBytes1(), MPEGProgramStreamParser::parsePESPacket(), MPEGVideoStreamParser::restoreSavedParserState(), MatroskaFileParser::restoreSavedParserState(), and H263plusVideoStreamParser::restoreSavedParserState().
00063 { 00064 fCurParserIndex = fSavedParserIndex; 00065 fRemainingUnparsedBits = fSavedRemainingUnparsedBits; 00066 }
| u_int32_t StreamParser::get4Bytes | ( | ) | [inline, protected] |
Definition at line 46 of file StreamParser.hh.
References fCurParserIndex, fRemainingUnparsedBits, and test4Bytes().
Referenced by AC3AudioStreamParser::parseFrame(), MPEG1or2VideoStreamParser::parseGOPHeader(), MPEG4VideoStreamParser::parseGroupOfVideoObjectPlane(), MPEGProgramStreamParser::parsePackHeader(), MPEGProgramStreamParser::parsePESPacket(), MPEG1or2VideoStreamParser::parsePictureHeader(), MPEG4VideoStreamParser::parseVideoObjectLayer(), MPEG4VideoStreamParser::parseVideoObjectPlane(), MPEG1or2VideoStreamParser::parseVideoSequenceHeader(), MPEG4VideoStreamParser::parseVisualObject(), MPEG4VideoStreamParser::parseVisualObjectSequence(), MPEGVideoStreamParser::saveToNextCode(), and MPEGVideoStreamParser::skipToNextCode().
00046 { // byte-aligned; returned in big-endian order 00047 u_int32_t result = test4Bytes(); 00048 fCurParserIndex += 4; 00049 fRemainingUnparsedBits = 0; 00050 00051 return result; 00052 }
| u_int32_t StreamParser::test4Bytes | ( | ) | [inline, protected] |
Definition at line 53 of file StreamParser.hh.
References ensureValidBytes(), and nextToParse().
Referenced by get4Bytes(), getBits(), MPEG1or2AudioStreamParser::parse(), H264VideoStreamParser::parse(), AC3AudioStreamParser::parseFrame(), MPEG1or2VideoStreamParser::parseGOPHeader(), MPEGProgramStreamParser::parsePackHeader(), MPEGProgramStreamParser::parsePESPacket(), MPEGProgramStreamParser::parseSystemHeader(), MPEG1or2VideoStreamParser::parseVideoSequenceHeader(), and MPEG4VideoStreamParser::parseVisualObjectSequence().
00053 { // as above, but doesn't advance ptr 00054 ensureValidBytes(4); 00055 00056 unsigned char const* ptr = nextToParse(); 00057 return (ptr[0]<<24)|(ptr[1]<<16)|(ptr[2]<<8)|ptr[3]; 00058 }
| u_int16_t StreamParser::get2Bytes | ( | ) | [inline, protected] |
Definition at line 60 of file StreamParser.hh.
References ensureValidBytes(), fCurParserIndex, fRemainingUnparsedBits, and nextToParse().
Referenced by MPEGProgramStreamParser::parsePESPacket(), and MPEGProgramStreamParser::parseSystemHeader().
00060 { 00061 ensureValidBytes(2); 00062 00063 unsigned char const* ptr = nextToParse(); 00064 u_int16_t result = (ptr[0]<<8)|ptr[1]; 00065 00066 fCurParserIndex += 2; 00067 fRemainingUnparsedBits = 0; 00068 00069 return result; 00070 }
| u_int8_t StreamParser::get1Byte | ( | ) | [inline, protected] |
Definition at line 72 of file StreamParser.hh.
References curBank(), ensureValidBytes(), fCurParserIndex, and fRemainingUnparsedBits.
Referenced by MatroskaFileParser::deliverFrameWithinBlock(), H264VideoStreamParser::parse(), MatroskaFileParser::parseBlock(), MatroskaFileParser::parseEBMLNumber(), MatroskaFileParser::parseEBMLVal_binary(), MatroskaFileParser::parseEBMLVal_string(), MatroskaFileParser::parseEBMLVal_unsigned64(), MPEG1or2VideoStreamParser::parseGOPHeader(), H263plusVideoStreamParser::parseH263Frame(), MPEGProgramStreamParser::parsePackHeader(), MPEGProgramStreamParser::parsePESPacket(), MPEG4VideoStreamParser::parseVideoObjectPlane(), MPEG1or2VideoStreamParser::parseVideoSequenceHeader(), MPEG4VideoStreamParser::parseVisualObject(), MPEG4VideoStreamParser::parseVisualObjectSequence(), MPEGVideoStreamParser::saveToNextCode(), and MPEGVideoStreamParser::skipToNextCode().
00072 { // byte-aligned 00073 ensureValidBytes(1); 00074 fRemainingUnparsedBits = 0; 00075 return curBank()[fCurParserIndex++]; 00076 }
| u_int8_t StreamParser::test1Byte | ( | unsigned | numBytes | ) | [inline, protected] |
Definition at line 77 of file StreamParser.hh.
References ensureValidBytes(), and nextToParse().
00077 { // as above, but doesn't advance ptr 00078 ensureValidBytes(1); 00079 return nextToParse()[0]; 00080 }
| void StreamParser::getBytes | ( | u_int8_t * | to, | |
| unsigned | numBytes | |||
| ) | [inline, protected] |
Definition at line 82 of file StreamParser.hh.
References fCurParserIndex, fRemainingUnparsedBits, and testBytes().
Referenced by MatroskaFileParser::deliverFrameBytes(), MPEG1or2AudioStreamParser::parse(), AC3AudioStreamParser::parseFrame(), MPEG4VideoStreamParser::parseGroupOfVideoObjectPlane(), H263plusVideoStreamParser::parseH263Frame(), and MPEGProgramStreamParser::parsePESPacket().
00082 { 00083 testBytes(to, numBytes); 00084 fCurParserIndex += numBytes; 00085 fRemainingUnparsedBits = 0; 00086 }
| void StreamParser::testBytes | ( | u_int8_t * | to, | |
| unsigned | numBytes | |||
| ) | [inline, protected] |
Definition at line 87 of file StreamParser.hh.
References ensureValidBytes(), and nextToParse().
Referenced by getBytes(), and H264VideoStreamParser::parse().
00087 { // as above, but doesn't advance ptr 00088 ensureValidBytes(numBytes); 00089 memmove(to, nextToParse(), numBytes); 00090 }
| void StreamParser::skipBytes | ( | unsigned | numBytes | ) | [inline, protected] |
Definition at line 91 of file StreamParser.hh.
References ensureValidBytes(), and fCurParserIndex.
Referenced by MatroskaFileParser::deliverFrameBytes(), MPEG1or2AudioStreamParser::parse(), H264VideoStreamParser::parse(), MatroskaFileParser::parseBlock(), AC3AudioStreamParser::parseFrame(), MPEGProgramStreamParser::parsePackHeader(), MPEGProgramStreamParser::parsePESPacket(), MPEGProgramStreamParser::parseSystemHeader(), and MatroskaFileParser::skipHeader().
00091 { 00092 ensureValidBytes(numBytes); 00093 fCurParserIndex += numBytes; 00094 }
| void StreamParser::skipBits | ( | unsigned | numBits | ) | [protected] |
Definition at line 68 of file StreamParser.cpp.
References ensureValidBytes(), fCurParserIndex, and fRemainingUnparsedBits.
Referenced by MPEGProgramStreamParser::parsePackHeader().
00068 { 00069 if (numBits <= fRemainingUnparsedBits) { 00070 fRemainingUnparsedBits -= numBits; 00071 } else { 00072 numBits -= fRemainingUnparsedBits; 00073 00074 unsigned numBytesToExamine = (numBits+7)/8; // round up 00075 ensureValidBytes(numBytesToExamine); 00076 fCurParserIndex += numBytesToExamine; 00077 00078 fRemainingUnparsedBits = 8*numBytesToExamine - numBits; 00079 } 00080 }
| unsigned StreamParser::getBits | ( | unsigned | numBits | ) | [protected] |
Definition at line 82 of file StreamParser.cpp.
References fCurParserIndex, fRemainingUnparsedBits, lastParsed(), and test4Bytes().
Referenced by MPEGProgramStreamParser::parsePackHeader(), and MPEGProgramStreamParser::parsePESPacket().
00082 { 00083 if (numBits <= fRemainingUnparsedBits) { 00084 unsigned char lastByte = *lastParsed(); 00085 lastByte >>= (fRemainingUnparsedBits - numBits); 00086 fRemainingUnparsedBits -= numBits; 00087 00088 return (unsigned)lastByte &~ ((~0)<<numBits); 00089 } else { 00090 unsigned char lastByte; 00091 if (fRemainingUnparsedBits > 0) { 00092 lastByte = *lastParsed(); 00093 } else { 00094 lastByte = 0; 00095 } 00096 00097 unsigned remainingBits = numBits - fRemainingUnparsedBits; // > 0 00098 00099 // For simplicity, read the next 4 bytes, even though we might not 00100 // need all of them here: 00101 unsigned result = test4Bytes(); 00102 00103 result >>= (32 - remainingBits); 00104 result |= (lastByte << remainingBits); 00105 if (numBits < 32) result &=~ ((~0)<<numBits); 00106 00107 unsigned const numRemainingBytes = (remainingBits+7)/8; 00108 fCurParserIndex += numRemainingBytes; 00109 fRemainingUnparsedBits = 8*numRemainingBytes - remainingBits; 00110 00111 return result; 00112 } 00113 }
| unsigned StreamParser::curOffset | ( | ) | const [inline, protected] |
Definition at line 100 of file StreamParser.hh.
References fCurParserIndex.
Referenced by H264VideoStreamParser::parse(), MatroskaFileParser::parseBlock(), and MPEGProgramStreamParser::parsePESPacket().
00100 { return fCurParserIndex; }
| unsigned& StreamParser::totNumValidBytes | ( | ) | [inline, protected] |
Definition at line 102 of file StreamParser.hh.
References fTotNumValidBytes.
Referenced by H264VideoStreamParser::parse(), and AC3AudioStreamParser::testStreamCode().
00102 { return fTotNumValidBytes; }
| Boolean StreamParser::haveSeenEOF | ( | ) | const [inline, protected] |
Definition at line 104 of file StreamParser.hh.
References fHaveSeenEOF.
Referenced by H264VideoStreamParser::parse().
00104 { return fHaveSeenEOF; }
| unsigned StreamParser::bankSize | ( | ) | const [protected] |
Definition at line 115 of file StreamParser.cpp.
References BANK_SIZE.
Referenced by MatroskaFileParser::deliverFrameBytes(), and MatroskaFileParser::skipHeader().
00115 { 00116 return BANK_SIZE; 00117 }
| unsigned char* StreamParser::curBank | ( | ) | [inline, private] |
Definition at line 109 of file StreamParser.hh.
References fCurBank.
Referenced by afterGettingBytes1(), ensureValidBytes1(), get1Byte(), lastParsed(), and nextToParse().
00109 { return fCurBank; }
| unsigned char* StreamParser::nextToParse | ( | ) | [inline, private] |
Definition at line 110 of file StreamParser.hh.
References curBank(), and fCurParserIndex.
Referenced by get2Bytes(), test1Byte(), test4Bytes(), and testBytes().
00110 { return &curBank()[fCurParserIndex]; }
| unsigned char* StreamParser::lastParsed | ( | ) | [inline, private] |
Definition at line 111 of file StreamParser.hh.
References curBank(), and fCurParserIndex.
Referenced by getBits().
00111 { return &curBank()[fCurParserIndex-1]; }
| void StreamParser::ensureValidBytes | ( | unsigned | numBytesNeeded | ) | [inline, private] |
Definition at line 114 of file StreamParser.hh.
References ensureValidBytes1(), fCurParserIndex, and fTotNumValidBytes.
Referenced by get1Byte(), get2Bytes(), skipBits(), skipBytes(), test1Byte(), test4Bytes(), and testBytes().
00114 { 00115 // common case: inlined: 00116 if (fCurParserIndex + numBytesNeeded <= fTotNumValidBytes) return; 00117 00118 ensureValidBytes1(numBytesNeeded); 00119 }
| void StreamParser::ensureValidBytes1 | ( | unsigned | numBytesNeeded | ) | [private] |
Definition at line 121 of file StreamParser.cpp.
References afterGettingBytes(), BANK_SIZE, curBank(), Medium::envir(), fBank, fCurBank, fCurBankNum, fCurParserIndex, fInputSource, fSavedParserIndex, fTotNumValidBytes, FramedSource::getNextFrame(), UsageEnvironment::internalError(), FramedSource::maxFrameSize(), NO_MORE_BUFFERED_INPUT, and onInputClosure().
Referenced by ensureValidBytes().
00121 { 00122 // We need to read some more bytes from the input source. 00123 // First, clarify how much data to ask for: 00124 unsigned maxInputFrameSize = fInputSource->maxFrameSize(); 00125 if (maxInputFrameSize > numBytesNeeded) numBytesNeeded = maxInputFrameSize; 00126 00127 // First, check whether these new bytes would overflow the current 00128 // bank. If so, start using a new bank now. 00129 if (fCurParserIndex + numBytesNeeded > BANK_SIZE) { 00130 // Swap banks, but save any still-needed bytes from the old bank: 00131 unsigned numBytesToSave = fTotNumValidBytes - fSavedParserIndex; 00132 unsigned char const* from = &curBank()[fSavedParserIndex]; 00133 00134 fCurBankNum = (fCurBankNum + 1)%2; 00135 fCurBank = fBank[fCurBankNum]; 00136 memmove(curBank(), from, numBytesToSave); 00137 fCurParserIndex = fCurParserIndex - fSavedParserIndex; 00138 fSavedParserIndex = 0; 00139 fTotNumValidBytes = numBytesToSave; 00140 } 00141 00142 // ASSERT: fCurParserIndex + numBytesNeeded > fTotNumValidBytes 00143 // && fCurParserIndex + numBytesNeeded <= BANK_SIZE 00144 if (fCurParserIndex + numBytesNeeded > BANK_SIZE) { 00145 // If this happens, it means that we have too much saved parser state. 00146 // To fix this, increase BANK_SIZE as appropriate. 00147 fInputSource->envir() << "StreamParser internal error (" 00148 << fCurParserIndex << " + " 00149 << numBytesNeeded << " > " 00150 << BANK_SIZE << ")\n"; 00151 fInputSource->envir().internalError(); 00152 } 00153 00154 // Try to read as many new bytes as will fit in the current bank: 00155 unsigned maxNumBytesToRead = BANK_SIZE - fTotNumValidBytes; 00156 fInputSource->getNextFrame(&curBank()[fTotNumValidBytes], 00157 maxNumBytesToRead, 00158 afterGettingBytes, this, 00159 onInputClosure, this); 00160 00161 throw NO_MORE_BUFFERED_INPUT; 00162 }
| void StreamParser::afterGettingBytes | ( | void * | clientData, | |
| unsigned | numBytesRead, | |||
| unsigned | numTruncatedBytes, | |||
| struct timeval | presentationTime, | |||
| unsigned | durationInMicroseconds | |||
| ) | [static, private] |
Definition at line 164 of file StreamParser.cpp.
References afterGettingBytes1(), and NULL.
Referenced by ensureValidBytes1().
00168 { 00169 StreamParser* parser = (StreamParser*)clientData; 00170 if (parser != NULL) parser->afterGettingBytes1(numBytesRead, presentationTime); 00171 }
| void StreamParser::afterGettingBytes1 | ( | unsigned | numBytesRead, | |
| struct timeval | presentationTime | |||
| ) | [private] |
Definition at line 173 of file StreamParser.cpp.
References BANK_SIZE, curBank(), Medium::envir(), fClientContinueClientData, fClientContinueFunc, fInputSource, fLastSeenPresentationTime, fTotNumValidBytes, and restoreSavedParserState().
Referenced by afterGettingBytes(), and onInputClosure1().
00173 { 00174 // Sanity check: Make sure we didn't get too many bytes for our bank: 00175 if (fTotNumValidBytes + numBytesRead > BANK_SIZE) { 00176 fInputSource->envir() 00177 << "StreamParser::afterGettingBytes() warning: read " 00178 << numBytesRead << " bytes; expected no more than " 00179 << BANK_SIZE - fTotNumValidBytes << "\n"; 00180 } 00181 00182 fLastSeenPresentationTime = presentationTime; 00183 00184 unsigned char* ptr = &curBank()[fTotNumValidBytes]; 00185 fTotNumValidBytes += numBytesRead; 00186 00187 // Continue our original calling source where it left off: 00188 restoreSavedParserState(); 00189 // Sigh... this is a crock; things would have been a lot simpler 00190 // here if we were using threads, with synchronous I/O... 00191 fClientContinueFunc(fClientContinueClientData, ptr, numBytesRead, presentationTime); 00192 }
| void StreamParser::onInputClosure | ( | void * | clientData | ) | [static, private] |
Definition at line 194 of file StreamParser.cpp.
References NULL, and onInputClosure1().
Referenced by ensureValidBytes1().
00194 { 00195 StreamParser* parser = (StreamParser*)clientData; 00196 if (parser != NULL) parser->onInputClosure1(); 00197 }
| void StreamParser::onInputClosure1 | ( | ) | [private] |
Definition at line 199 of file StreamParser.cpp.
References afterGettingBytes1(), False, fClientOnInputCloseClientData, fClientOnInputCloseFunc, fHaveSeenEOF, fLastSeenPresentationTime, NULL, and True.
Referenced by onInputClosure().
00199 { 00200 if (!fHaveSeenEOF) { 00201 // We're hitting EOF for the first time. Set our 'EOF' flag, and continue parsing, as if we'd just read 0 bytes of data. 00202 // This allows the parser to re-parse any remaining unparsed data (perhaps while testing for EOF at the end): 00203 fHaveSeenEOF = True; 00204 afterGettingBytes1(0, fLastSeenPresentationTime); 00205 } else { 00206 // We're hitting EOF for the second time. Now, we handle the source input closure: 00207 fHaveSeenEOF = False; 00208 if (fClientOnInputCloseFunc != NULL) (*fClientOnInputCloseFunc)(fClientOnInputCloseClientData); 00209 } 00210 }
FramedSource* StreamParser::fInputSource [private] |
Reimplemented in MatroskaFileParser.
Definition at line 132 of file StreamParser.hh.
Referenced by afterGettingBytes1(), and ensureValidBytes1().
void* StreamParser::fClientOnInputCloseClientData [private] |
void* StreamParser::fClientContinueClientData [private] |
unsigned char* StreamParser::fBank[2] [private] |
Definition at line 139 of file StreamParser.hh.
Referenced by ensureValidBytes1(), StreamParser(), and ~StreamParser().
unsigned char StreamParser::fCurBankNum [private] |
Definition at line 140 of file StreamParser.hh.
Referenced by ensureValidBytes1(), and StreamParser().
unsigned char* StreamParser::fCurBank [private] |
Definition at line 141 of file StreamParser.hh.
Referenced by curBank(), ensureValidBytes1(), and StreamParser().
unsigned StreamParser::fSavedParserIndex [private] |
Definition at line 144 of file StreamParser.hh.
Referenced by ensureValidBytes1(), flushInput(), restoreSavedParserState(), and saveParserState().
unsigned char StreamParser::fSavedRemainingUnparsedBits [private] |
Definition at line 145 of file StreamParser.hh.
Referenced by flushInput(), restoreSavedParserState(), and saveParserState().
unsigned StreamParser::fCurParserIndex [private] |
Definition at line 148 of file StreamParser.hh.
Referenced by curOffset(), ensureValidBytes(), ensureValidBytes1(), flushInput(), get1Byte(), get2Bytes(), get4Bytes(), getBits(), getBytes(), lastParsed(), nextToParse(), restoreSavedParserState(), saveParserState(), skipBits(), and skipBytes().
unsigned char StreamParser::fRemainingUnparsedBits [private] |
Definition at line 149 of file StreamParser.hh.
Referenced by flushInput(), get1Byte(), get2Bytes(), get4Bytes(), getBits(), getBytes(), restoreSavedParserState(), saveParserState(), and skipBits().
unsigned StreamParser::fTotNumValidBytes [private] |
Definition at line 152 of file StreamParser.hh.
Referenced by afterGettingBytes1(), ensureValidBytes(), ensureValidBytes1(), flushInput(), and totNumValidBytes().
Boolean StreamParser::fHaveSeenEOF [private] |
struct timeval StreamParser::fLastSeenPresentationTime [read, private] |
Definition at line 157 of file StreamParser.hh.
Referenced by afterGettingBytes1(), onInputClosure1(), and StreamParser().
1.5.2