live
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Static Private Member Functions | Private Attributes
MPEG2IFrameIndexFromTransportStream Class Reference

#include <MPEG2IndexFromTransportStream.hh>

Inheritance diagram for MPEG2IFrameIndexFromTransportStream:
Inheritance graph
[legend]
Collaboration diagram for MPEG2IFrameIndexFromTransportStream:
Collaboration graph
[legend]

Public Types

typedef void( afterGettingFunc) (void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
 
typedef void( onCloseFunc) (void *clientData)
 

Public Member Functions

FramedSourceinputSource () const
 
void reassignInputSource (FramedSource *newInputSource)
 
void detachInputSource ()
 
void getNextFrame (unsigned char *to, unsigned maxSize, afterGettingFunc *afterGettingFunc, void *afterGettingClientData, onCloseFunc *onCloseFunc, void *onCloseClientData)
 
void handleClosure ()
 
void stopGettingFrames ()
 
virtual unsigned maxFrameSize () const
 
Boolean isCurrentlyAwaitingData () const
 
virtual Boolean isRTPSource () const
 
virtual Boolean isMPEG1or2VideoStreamFramer () const
 
virtual Boolean isMPEG4VideoStreamFramer () const
 
virtual Boolean isH264VideoStreamFramer () const
 
virtual Boolean isH265VideoStreamFramer () const
 
virtual Boolean isDVVideoStreamFramer () const
 
virtual Boolean isJPEGVideoSource () const
 
virtual Boolean isAMRAudioSource () const
 
UsageEnvironmentenvir () const
 
char const * name () const
 
virtual Boolean isSink () const
 
virtual Boolean isRTCPInstance () const
 
virtual Boolean isRTSPClient () const
 
virtual Boolean isRTSPServer () const
 
virtual Boolean isMediaSession () const
 
virtual Boolean isServerMediaSession () const
 

Static Public Member Functions

static MPEG2IFrameIndexFromTransportStreamcreateNew (UsageEnvironment &env, FramedSource *inputSource)
 
static Boolean lookupByName (UsageEnvironment &env, char const *sourceName, FramedSource *&resultSource)
 
static Boolean lookupByName (UsageEnvironment &env, char const *sourceName, MediaSource *&resultSource)
 
static Boolean lookupByName (UsageEnvironment &env, char const *mediumName, Medium *&resultMedium)
 
static void handleClosure (void *clientData)
 
static void afterGetting (FramedSource *source)
 
static void close (UsageEnvironment &env, char const *mediumName)
 
static void close (Medium *medium)
 

Protected Member Functions

 MPEG2IFrameIndexFromTransportStream (UsageEnvironment &env, FramedSource *inputSource)
 
virtual ~MPEG2IFrameIndexFromTransportStream ()
 
virtual char const * MIMEtype () const
 
virtual void getAttributes () const
 
virtual void doStopGettingFrames ()
 
TaskTokennextTask ()
 

Protected Attributes

FramedSourcefInputSource
 
unsigned char * fTo
 
unsigned fMaxSize
 
unsigned fFrameSize
 
unsigned fNumTruncatedBytes
 
struct timeval fPresentationTime
 
unsigned fDurationInMicroseconds
 

Private Member Functions

virtual void doGetNextFrame ()
 
void afterGettingFrame1 (unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
 
void handleInputClosure1 ()
 
void analyzePAT (unsigned char *pkt, unsigned size)
 
void analyzePMT (unsigned char *pkt, unsigned size)
 
Boolean deliverIndexRecord ()
 
Boolean parseFrame ()
 
Boolean parseToNextCode (unsigned char &nextCode)
 
void compactParseBuffer ()
 
void addToTail (IndexRecord *newIndexRecord)
 

Static Private Member Functions

static void afterGettingFrame (void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
 
static void handleInputClosure (void *clientData)
 

Private Attributes

Boolean fIsH264
 
Boolean fIsH265
 
unsigned long fInputTransportPacketCounter
 
unsigned fClosureNumber
 
u_int8_t fLastContinuityCounter
 
float fFirstPCR
 
float fLastPCR
 
Boolean fHaveSeenFirstPCR
 
u_int16_t fPMT_PID
 
u_int16_t fVideo_PID
 
unsigned char fInputBuffer [TRANSPORT_PACKET_SIZE]
 
unsigned char * fParseBuffer
 
unsigned fParseBufferSize
 
unsigned fParseBufferFrameStart
 
unsigned fParseBufferParseEnd
 
unsigned fParseBufferDataEnd
 
IndexRecord * fHeadIndexRecord
 
IndexRecord * fTailIndexRecord
 

Detailed Description

Definition at line 38 of file MPEG2IndexFromTransportStream.hh.

Member Typedef Documentation

typedef void( FramedSource::afterGettingFunc) (void *clientData, unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
inherited

Definition at line 36 of file FramedSource.hh.

typedef void( FramedSource::onCloseFunc) (void *clientData)
inherited

Definition at line 40 of file FramedSource.hh.

Constructor & Destructor Documentation

MPEG2IFrameIndexFromTransportStream::MPEG2IFrameIndexFromTransportStream ( UsageEnvironment env,
FramedSource inputSource 
)
protected
virtual MPEG2IFrameIndexFromTransportStream::~MPEG2IFrameIndexFromTransportStream ( )
protectedvirtual

Member Function Documentation

void MPEG2IFrameIndexFromTransportStream::addToTail ( IndexRecord *  newIndexRecord)
private
static void FramedSource::afterGetting ( FramedSource source)
staticinherited
static void MPEG2IFrameIndexFromTransportStream::afterGettingFrame ( void *  clientData,
unsigned  frameSize,
unsigned  numTruncatedBytes,
struct timeval  presentationTime,
unsigned  durationInMicroseconds 
)
staticprivate
void MPEG2IFrameIndexFromTransportStream::afterGettingFrame1 ( unsigned  frameSize,
unsigned  numTruncatedBytes,
struct timeval  presentationTime,
unsigned  durationInMicroseconds 
)
private
void MPEG2IFrameIndexFromTransportStream::analyzePAT ( unsigned char *  pkt,
unsigned  size 
)
private
void MPEG2IFrameIndexFromTransportStream::analyzePMT ( unsigned char *  pkt,
unsigned  size 
)
private
static void Medium::close ( UsageEnvironment env,
char const *  mediumName 
)
staticinherited
static void Medium::close ( Medium medium)
staticinherited
void MPEG2IFrameIndexFromTransportStream::compactParseBuffer ( )
private
static MPEG2IFrameIndexFromTransportStream* MPEG2IFrameIndexFromTransportStream::createNew ( UsageEnvironment env,
FramedSource inputSource 
)
static
Boolean MPEG2IFrameIndexFromTransportStream::deliverIndexRecord ( )
private
void FramedFilter::detachInputSource ( )
inherited
virtual void MPEG2IFrameIndexFromTransportStream::doGetNextFrame ( )
privatevirtual

Implements FramedSource.

virtual void FramedFilter::doStopGettingFrames ( )
protectedvirtualinherited
UsageEnvironment& Medium::envir ( ) const
inlineinherited
virtual void FramedFilter::getAttributes ( ) const
protectedvirtualinherited

Reimplemented from MediaSource.

Reimplemented in MP3ADUTranscoder.

void FramedSource::getNextFrame ( unsigned char *  to,
unsigned  maxSize,
afterGettingFunc afterGettingFunc,
void *  afterGettingClientData,
onCloseFunc onCloseFunc,
void *  onCloseClientData 
)
inherited
static void FramedSource::handleClosure ( void *  clientData)
staticinherited
void FramedSource::handleClosure ( )
inherited
static void MPEG2IFrameIndexFromTransportStream::handleInputClosure ( void *  clientData)
staticprivate
void MPEG2IFrameIndexFromTransportStream::handleInputClosure1 ( )
private
FramedSource* FramedFilter::inputSource ( ) const
inlineinherited

Definition at line 30 of file FramedFilter.hh.

References FramedFilter::fInputSource.

30 { return fInputSource; }
FramedSource * fInputSource
Definition: FramedFilter.hh:49
virtual Boolean MediaSource::isAMRAudioSource ( ) const
virtualinherited

Reimplemented in AMRAudioSource.

Boolean FramedSource::isCurrentlyAwaitingData ( ) const
inlineinherited

Definition at line 61 of file FramedSource.hh.

References FramedSource::fIsCurrentlyAwaitingData.

Boolean fIsCurrentlyAwaitingData
Definition: FramedSource.hh:92
virtual Boolean MediaSource::isDVVideoStreamFramer ( ) const
virtualinherited

Reimplemented in DVVideoStreamFramer.

virtual Boolean MediaSource::isH264VideoStreamFramer ( ) const
virtualinherited
virtual Boolean MediaSource::isH265VideoStreamFramer ( ) const
virtualinherited
virtual Boolean MediaSource::isJPEGVideoSource ( ) const
virtualinherited

Reimplemented in JPEGVideoSource.

virtual Boolean Medium::isMediaSession ( ) const
virtualinherited

Reimplemented in MediaSession.

virtual Boolean MediaSource::isMPEG1or2VideoStreamFramer ( ) const
virtualinherited

Reimplemented in MPEG1or2VideoStreamFramer.

virtual Boolean MediaSource::isMPEG4VideoStreamFramer ( ) const
virtualinherited

Reimplemented in MPEG4VideoStreamFramer.

virtual Boolean Medium::isRTCPInstance ( ) const
virtualinherited

Reimplemented in RTCPInstance.

virtual Boolean MediaSource::isRTPSource ( ) const
virtualinherited

Reimplemented in RTPSource.

virtual Boolean Medium::isRTSPClient ( ) const
virtualinherited

Reimplemented in RTSPClient.

virtual Boolean Medium::isRTSPServer ( ) const
virtualinherited

Reimplemented in RTSPServer.

virtual Boolean Medium::isServerMediaSession ( ) const
virtualinherited

Reimplemented in ServerMediaSession.

virtual Boolean Medium::isSink ( ) const
virtualinherited

Reimplemented in MediaSink.

static Boolean MediaSource::lookupByName ( UsageEnvironment env,
char const *  sourceName,
MediaSource *&  resultSource 
)
staticinherited
static Boolean FramedSource::lookupByName ( UsageEnvironment env,
char const *  sourceName,
FramedSource *&  resultSource 
)
staticinherited
static Boolean Medium::lookupByName ( UsageEnvironment env,
char const *  mediumName,
Medium *&  resultMedium 
)
staticinherited
virtual unsigned FramedSource::maxFrameSize ( ) const
virtualinherited
virtual char const* FramedFilter::MIMEtype ( ) const
protectedvirtualinherited

Reimplemented from MediaSource.

Reimplemented in MP3FromADUSource, and ADUFromMP3Source.

char const* Medium::name ( ) const
inlineinherited

Definition at line 61 of file Media.hh.

References Medium::fMediumName.

61 {return fMediumName;}
char fMediumName[mediumNameMaxLen]
Definition: Media.hh:83
TaskToken& Medium::nextTask ( )
inlineprotectedinherited

Definition at line 77 of file Media.hh.

References Medium::fNextTask.

77  {
78  return fNextTask;
79  }
TaskToken fNextTask
Definition: Media.hh:84
Boolean MPEG2IFrameIndexFromTransportStream::parseFrame ( )
private
Boolean MPEG2IFrameIndexFromTransportStream::parseToNextCode ( unsigned char &  nextCode)
private
void FramedFilter::reassignInputSource ( FramedSource newInputSource)
inlineinherited

Definition at line 32 of file FramedFilter.hh.

References FramedFilter::fInputSource.

32 { fInputSource = newInputSource; }
FramedSource * fInputSource
Definition: FramedFilter.hh:49
void FramedSource::stopGettingFrames ( )
inherited

Field Documentation

unsigned MPEG2IFrameIndexFromTransportStream::fClosureNumber
private

Definition at line 79 of file MPEG2IndexFromTransportStream.hh.

unsigned FramedSource::fDurationInMicroseconds
protectedinherited
float MPEG2IFrameIndexFromTransportStream::fFirstPCR
private

Definition at line 81 of file MPEG2IndexFromTransportStream.hh.

unsigned FramedSource::fFrameSize
protectedinherited

Definition at line 77 of file FramedSource.hh.

Referenced by OggDemuxedTrack::frameSize(), and MatroskaDemuxedTrack::frameSize().

Boolean MPEG2IFrameIndexFromTransportStream::fHaveSeenFirstPCR
private

Definition at line 82 of file MPEG2IndexFromTransportStream.hh.

IndexRecord* MPEG2IFrameIndexFromTransportStream::fHeadIndexRecord
private

Definition at line 91 of file MPEG2IndexFromTransportStream.hh.

unsigned char MPEG2IFrameIndexFromTransportStream::fInputBuffer[TRANSPORT_PACKET_SIZE]
private

Definition at line 85 of file MPEG2IndexFromTransportStream.hh.

FramedSource* FramedFilter::fInputSource
protectedinherited
unsigned long MPEG2IFrameIndexFromTransportStream::fInputTransportPacketCounter
private

Definition at line 78 of file MPEG2IndexFromTransportStream.hh.

Boolean MPEG2IFrameIndexFromTransportStream::fIsH264
private

Definition at line 76 of file MPEG2IndexFromTransportStream.hh.

Boolean MPEG2IFrameIndexFromTransportStream::fIsH265
private

Definition at line 77 of file MPEG2IndexFromTransportStream.hh.

u_int8_t MPEG2IFrameIndexFromTransportStream::fLastContinuityCounter
private

Definition at line 80 of file MPEG2IndexFromTransportStream.hh.

float MPEG2IFrameIndexFromTransportStream::fLastPCR
private

Definition at line 81 of file MPEG2IndexFromTransportStream.hh.

unsigned FramedSource::fMaxSize
protectedinherited

Definition at line 76 of file FramedSource.hh.

Referenced by OggDemuxedTrack::maxSize(), and MatroskaDemuxedTrack::maxSize().

unsigned FramedSource::fNumTruncatedBytes
protectedinherited
unsigned char* MPEG2IFrameIndexFromTransportStream::fParseBuffer
private

Definition at line 86 of file MPEG2IndexFromTransportStream.hh.

unsigned MPEG2IFrameIndexFromTransportStream::fParseBufferDataEnd
private

Definition at line 90 of file MPEG2IndexFromTransportStream.hh.

unsigned MPEG2IFrameIndexFromTransportStream::fParseBufferFrameStart
private

Definition at line 88 of file MPEG2IndexFromTransportStream.hh.

unsigned MPEG2IFrameIndexFromTransportStream::fParseBufferParseEnd
private

Definition at line 89 of file MPEG2IndexFromTransportStream.hh.

unsigned MPEG2IFrameIndexFromTransportStream::fParseBufferSize
private

Definition at line 87 of file MPEG2IndexFromTransportStream.hh.

u_int16_t MPEG2IFrameIndexFromTransportStream::fPMT_PID
private

Definition at line 83 of file MPEG2IndexFromTransportStream.hh.

struct timeval FramedSource::fPresentationTime
protectedinherited
IndexRecord* MPEG2IFrameIndexFromTransportStream::fTailIndexRecord
private

Definition at line 92 of file MPEG2IndexFromTransportStream.hh.

unsigned char* FramedSource::fTo
protectedinherited

Definition at line 75 of file FramedSource.hh.

Referenced by OggDemuxedTrack::to(), and MatroskaDemuxedTrack::to().

u_int16_t MPEG2IFrameIndexFromTransportStream::fVideo_PID
private

Definition at line 83 of file MPEG2IndexFromTransportStream.hh.


The documentation for this class was generated from the following file: