21#ifndef _MPEG2_IFRAME_INDEX_FROM_TRANSPORT_STREAM_HH
22#define _MPEG2_IFRAME_INDEX_FROM_TRANSPORT_STREAM_HH
24#ifndef _FRAMED_FILTER_HH
28#ifndef TRANSPORT_PACKET_SIZE
29#define TRANSPORT_PACKET_SIZE 188
32#ifndef MAX_PES_PACKET_SIZE
33#define MAX_PES_PACKET_SIZE 65536
55 unsigned numTruncatedBytes,
56 struct timeval presentationTime,
57 unsigned durationInMicroseconds);
59 unsigned numTruncatedBytes,
60 struct timeval presentationTime,
61 unsigned durationInMicroseconds);
#define TRANSPORT_PACKET_SIZE
FramedSource * inputSource() const
void handleInputClosure1()
IndexRecord * fTailIndexRecord
Boolean parseToNextCode(unsigned char &nextCode)
IndexRecord * fHeadIndexRecord
MPEG2IFrameIndexFromTransportStream(UsageEnvironment &env, FramedSource *inputSource)
virtual ~MPEG2IFrameIndexFromTransportStream()
u_int8_t fLastContinuityCounter
unsigned fParseBufferFrameStart
static void afterGettingFrame(void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
void analyzePAT(unsigned char *pkt, unsigned size)
unsigned fParseBufferDataEnd
unsigned fParseBufferParseEnd
Boolean deliverIndexRecord()
virtual void doGetNextFrame()
Boolean fHaveSeenFirstPCR
void compactParseBuffer()
void analyzePMT(unsigned char *pkt, unsigned size)
static MPEG2IFrameIndexFromTransportStream * createNew(UsageEnvironment &env, FramedSource *inputSource)
unsigned fParseBufferSize
unsigned long fInputTransportPacketCounter
unsigned char * fParseBuffer
unsigned char fInputBuffer[TRANSPORT_PACKET_SIZE]
void afterGettingFrame1(unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
void addToTail(IndexRecord *newIndexRecord)
static void handleInputClosure(void *clientData)