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

#include <MPEG2TransportStreamTrickModeFilter.hh>

Inheritance diagram for MPEG2TransportStreamTrickModeFilter:
Inheritance graph
[legend]
Collaboration diagram for MPEG2TransportStreamTrickModeFilter:
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

Boolean seekTo (unsigned long tsPacketNumber, unsigned long indexRecordNumber)
 
unsigned long nextIndexRecordNum () const
 
void forgetInputSource ()
 
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
 
virtual Boolean isMPEG2TransportStreamMultiplexor () 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 MPEG2TransportStreamTrickModeFiltercreateNew (UsageEnvironment &env, FramedSource *inputSource, MPEG2TransportStreamIndexFile *indexFile, int scale)
 
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

 MPEG2TransportStreamTrickModeFilter (UsageEnvironment &env, FramedSource *inputSource, MPEG2TransportStreamIndexFile *indexFile, int scale)
 
virtual ~MPEG2TransportStreamTrickModeFilter ()
 
virtual char const * MIMEtype () const
 
virtual void getAttributes () const
 
TaskTokennextTask ()
 

Protected Attributes

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

Private Types

enum  { SKIPPING_FRAME , DELIVERING_SAVED_FRAME , SAVING_AND_DELIVERING_FRAME }
 

Private Member Functions

virtual void doGetNextFrame ()
 
virtual void doStopGettingFrames ()
 
void attemptDeliveryToClient ()
 
void seekToTransportPacket (unsigned long tsPacketNum)
 
void readTransportPacket (unsigned long tsPacketNum)
 
void afterGettingFrame1 (unsigned frameSize)
 
void onSourceClosure1 ()
 
virtual Boolean isFramedSource () const
 
virtual Boolean isSource () const
 

Static Private Member Functions

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

Private Attributes

Boolean fHaveStarted
 
MPEG2TransportStreamIndexFilefIndexFile
 
int fScale
 
int fDirection
 
enum MPEG2TransportStreamTrickModeFilter:: { ... }  fState
 
unsigned fFrameCount
 
unsigned long fNextIndexRecordNum
 
unsigned long fNextTSPacketNum
 
unsigned char fInputBuffer [TRANSPORT_PACKET_SIZE]
 
unsigned long fCurrentTSPacketNum
 
unsigned long fDesiredTSPacketNum
 
u_int8_t fDesiredDataOffset
 
u_int8_t fDesiredDataSize
 
float fDesiredDataPCR
 
float fFirstPCR
 
unsigned long fSavedFrameIndexRecordStart
 
unsigned long fSavedSequentialIndexRecordNum
 
Boolean fUseSavedFrameNextTime
 
afterGettingFuncfAfterGettingFunc
 
void * fAfterGettingClientData
 
onCloseFuncfOnCloseFunc
 
void * fOnCloseClientData
 
Boolean fIsCurrentlyAwaitingData
 
UsageEnvironmentfEnviron
 
char fMediumName [mediumNameMaxLen]
 
TaskToken fNextTask
 

Detailed Description

Definition at line 38 of file MPEG2TransportStreamTrickModeFilter.hh.

Member Typedef Documentation

◆ afterGettingFunc

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

Definition at line 36 of file FramedSource.hh.

◆ onCloseFunc

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

Definition at line 40 of file FramedSource.hh.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private

Constructor & Destructor Documentation

◆ MPEG2TransportStreamTrickModeFilter()

MPEG2TransportStreamTrickModeFilter::MPEG2TransportStreamTrickModeFilter ( UsageEnvironment env,
FramedSource inputSource,
MPEG2TransportStreamIndexFile indexFile,
int  scale 
)
protected

◆ ~MPEG2TransportStreamTrickModeFilter()

virtual MPEG2TransportStreamTrickModeFilter::~MPEG2TransportStreamTrickModeFilter ( )
protectedvirtual

Member Function Documentation

◆ afterGetting()

static void FramedSource::afterGetting ( FramedSource source)
staticinherited

◆ afterGettingFrame()

static void MPEG2TransportStreamTrickModeFilter::afterGettingFrame ( void *  clientData,
unsigned  frameSize,
unsigned  numTruncatedBytes,
struct timeval  presentationTime,
unsigned  durationInMicroseconds 
)
staticprivate

◆ afterGettingFrame1()

void MPEG2TransportStreamTrickModeFilter::afterGettingFrame1 ( unsigned  frameSize)
private

◆ attemptDeliveryToClient()

void MPEG2TransportStreamTrickModeFilter::attemptDeliveryToClient ( )
private

◆ close() [1/2]

static void Medium::close ( Medium medium)
staticinherited

◆ close() [2/2]

static void Medium::close ( UsageEnvironment env,
char const *  mediumName 
)
staticinherited

◆ createNew()

static MPEG2TransportStreamTrickModeFilter * MPEG2TransportStreamTrickModeFilter::createNew ( UsageEnvironment env,
FramedSource inputSource,
MPEG2TransportStreamIndexFile indexFile,
int  scale 
)
static

◆ detachInputSource()

void FramedFilter::detachInputSource ( )
inherited

◆ doGetNextFrame()

virtual void MPEG2TransportStreamTrickModeFilter::doGetNextFrame ( )
privatevirtual

Implements FramedSource.

◆ doStopGettingFrames()

virtual void MPEG2TransportStreamTrickModeFilter::doStopGettingFrames ( )
privatevirtual

Reimplemented from FramedFilter.

◆ envir()

UsageEnvironment & Medium::envir ( ) const
inlineinherited

◆ forgetInputSource()

void MPEG2TransportStreamTrickModeFilter::forgetInputSource ( )
inline

Definition at line 48 of file MPEG2TransportStreamTrickModeFilter.hh.

48{ fInputSource = NULL; }
#define NULL
FramedSource * fInputSource
Definition: FramedFilter.hh:49

References FramedFilter::fInputSource, and NULL.

◆ getAttributes()

virtual void FramedFilter::getAttributes ( ) const
protectedvirtualinherited

Reimplemented from MediaSource.

Reimplemented in MP3ADUTranscoder.

◆ getNextFrame()

void FramedSource::getNextFrame ( unsigned char *  to,
unsigned  maxSize,
afterGettingFunc afterGettingFunc,
void *  afterGettingClientData,
onCloseFunc onCloseFunc,
void *  onCloseClientData 
)
inherited

◆ handleClosure() [1/2]

void FramedSource::handleClosure ( )
inherited

◆ handleClosure() [2/2]

static void FramedSource::handleClosure ( void *  clientData)
staticinherited

◆ inputSource()

FramedSource * FramedFilter::inputSource ( ) const
inlineinherited

Definition at line 30 of file FramedFilter.hh.

30{ return fInputSource; }

References FramedFilter::fInputSource.

◆ isAMRAudioSource()

virtual Boolean MediaSource::isAMRAudioSource ( ) const
virtualinherited

Reimplemented in AMRAudioSource.

◆ isCurrentlyAwaitingData()

Boolean FramedSource::isCurrentlyAwaitingData ( ) const
inlineinherited

Definition at line 61 of file FramedSource.hh.

Boolean fIsCurrentlyAwaitingData
Definition: FramedSource.hh:92

References FramedSource::fIsCurrentlyAwaitingData.

◆ isDVVideoStreamFramer()

virtual Boolean MediaSource::isDVVideoStreamFramer ( ) const
virtualinherited

Reimplemented in DVVideoStreamFramer.

◆ isFramedSource()

virtual Boolean FramedSource::isFramedSource ( ) const
privatevirtualinherited

Reimplemented from MediaSource.

◆ isH264VideoStreamFramer()

virtual Boolean MediaSource::isH264VideoStreamFramer ( ) const
virtualinherited

◆ isH265VideoStreamFramer()

virtual Boolean MediaSource::isH265VideoStreamFramer ( ) const
virtualinherited

◆ isJPEGVideoSource()

virtual Boolean MediaSource::isJPEGVideoSource ( ) const
virtualinherited

Reimplemented in JPEGVideoSource.

◆ isMediaSession()

virtual Boolean Medium::isMediaSession ( ) const
virtualinherited

Reimplemented in MediaSession.

◆ isMPEG1or2VideoStreamFramer()

virtual Boolean MediaSource::isMPEG1or2VideoStreamFramer ( ) const
virtualinherited

Reimplemented in MPEG1or2VideoStreamFramer.

◆ isMPEG2TransportStreamMultiplexor()

virtual Boolean MediaSource::isMPEG2TransportStreamMultiplexor ( ) const
virtualinherited

◆ isMPEG4VideoStreamFramer()

virtual Boolean MediaSource::isMPEG4VideoStreamFramer ( ) const
virtualinherited

Reimplemented in MPEG4VideoStreamFramer.

◆ isRTCPInstance()

virtual Boolean Medium::isRTCPInstance ( ) const
virtualinherited

Reimplemented in RTCPInstance.

◆ isRTPSource()

virtual Boolean MediaSource::isRTPSource ( ) const
virtualinherited

Reimplemented in RTPSource.

◆ isRTSPClient()

virtual Boolean Medium::isRTSPClient ( ) const
virtualinherited

Reimplemented in RTSPClient.

◆ isRTSPServer()

virtual Boolean Medium::isRTSPServer ( ) const
virtualinherited

Reimplemented in RTSPServer.

◆ isServerMediaSession()

virtual Boolean Medium::isServerMediaSession ( ) const
virtualinherited

Reimplemented in ServerMediaSession.

◆ isSink()

virtual Boolean Medium::isSink ( ) const
virtualinherited

Reimplemented in MediaSink.

◆ isSource()

virtual Boolean MediaSource::isSource ( ) const
privatevirtualinherited

Reimplemented from Medium.

◆ lookupByName() [1/3]

static Boolean Medium::lookupByName ( UsageEnvironment env,
char const *  mediumName,
Medium *&  resultMedium 
)
staticinherited

◆ lookupByName() [2/3]

static Boolean FramedSource::lookupByName ( UsageEnvironment env,
char const *  sourceName,
FramedSource *&  resultSource 
)
staticinherited

◆ lookupByName() [3/3]

static Boolean MediaSource::lookupByName ( UsageEnvironment env,
char const *  sourceName,
MediaSource *&  resultSource 
)
staticinherited

◆ maxFrameSize()

virtual unsigned FramedSource::maxFrameSize ( ) const
virtualinherited

◆ MIMEtype()

virtual char const * FramedFilter::MIMEtype ( ) const
protectedvirtualinherited

Reimplemented from MediaSource.

Reimplemented in ADUFromMP3Source, and MP3FromADUSource.

◆ name()

char const * Medium::name ( ) const
inlineinherited

Definition at line 61 of file Media.hh.

61{return fMediumName;}
char fMediumName[mediumNameMaxLen]
Definition: Media.hh:83

References Medium::fMediumName.

◆ nextIndexRecordNum()

unsigned long MPEG2TransportStreamTrickModeFilter::nextIndexRecordNum ( ) const
inline

◆ nextTask()

TaskToken & Medium::nextTask ( )
inlineprotectedinherited

Definition at line 77 of file Media.hh.

77 {
78 return fNextTask;
79 }
TaskToken fNextTask
Definition: Media.hh:84

References Medium::fNextTask.

◆ onSourceClosure()

static void MPEG2TransportStreamTrickModeFilter::onSourceClosure ( void *  clientData)
staticprivate

◆ onSourceClosure1()

void MPEG2TransportStreamTrickModeFilter::onSourceClosure1 ( )
private

◆ readTransportPacket()

void MPEG2TransportStreamTrickModeFilter::readTransportPacket ( unsigned long  tsPacketNum)
private

◆ reassignInputSource()

void FramedFilter::reassignInputSource ( FramedSource newInputSource)
inlineinherited

Definition at line 32 of file FramedFilter.hh.

32{ fInputSource = newInputSource; }

References FramedFilter::fInputSource.

◆ seekTo()

Boolean MPEG2TransportStreamTrickModeFilter::seekTo ( unsigned long  tsPacketNumber,
unsigned long  indexRecordNumber 
)

◆ seekToTransportPacket()

void MPEG2TransportStreamTrickModeFilter::seekToTransportPacket ( unsigned long  tsPacketNum)
private

◆ stopGettingFrames()

void FramedSource::stopGettingFrames ( )
inherited

Field Documentation

◆ fAfterGettingClientData

void* FramedSource::fAfterGettingClientData
privateinherited

Definition at line 88 of file FramedSource.hh.

◆ fAfterGettingFunc

afterGettingFunc* FramedSource::fAfterGettingFunc
privateinherited

Definition at line 87 of file FramedSource.hh.

◆ fCurrentTSPacketNum

unsigned long MPEG2TransportStreamTrickModeFilter::fCurrentTSPacketNum
private

Definition at line 90 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fDesiredDataOffset

u_int8_t MPEG2TransportStreamTrickModeFilter::fDesiredDataOffset
private

Definition at line 92 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fDesiredDataPCR

float MPEG2TransportStreamTrickModeFilter::fDesiredDataPCR
private

Definition at line 93 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fDesiredDataSize

u_int8_t MPEG2TransportStreamTrickModeFilter::fDesiredDataSize
private

Definition at line 92 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fDesiredTSPacketNum

unsigned long MPEG2TransportStreamTrickModeFilter::fDesiredTSPacketNum
private

Definition at line 91 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fDirection

int MPEG2TransportStreamTrickModeFilter::fDirection
private

Definition at line 80 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fDurationInMicroseconds

unsigned FramedSource::fDurationInMicroseconds
protectedinherited

◆ fEnviron

UsageEnvironment& Medium::fEnviron
privateinherited

Definition at line 82 of file Media.hh.

Referenced by Medium::envir().

◆ fFirstPCR

float MPEG2TransportStreamTrickModeFilter::fFirstPCR
private

Definition at line 93 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fFrameCount

unsigned MPEG2TransportStreamTrickModeFilter::fFrameCount
private

Definition at line 86 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fFrameSize

unsigned FramedSource::fFrameSize
protectedinherited

◆ fHaveStarted

Boolean MPEG2TransportStreamTrickModeFilter::fHaveStarted
private

Definition at line 77 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fIndexFile

MPEG2TransportStreamIndexFile* MPEG2TransportStreamTrickModeFilter::fIndexFile
private

Definition at line 78 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fInputBuffer

unsigned char MPEG2TransportStreamTrickModeFilter::fInputBuffer[TRANSPORT_PACKET_SIZE]
private

Definition at line 89 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fInputSource

FramedSource* FramedFilter::fInputSource
protectedinherited

◆ fIsCurrentlyAwaitingData

Boolean FramedSource::fIsCurrentlyAwaitingData
privateinherited

Definition at line 92 of file FramedSource.hh.

Referenced by FramedSource::isCurrentlyAwaitingData().

◆ fMaxSize

unsigned FramedSource::fMaxSize
protectedinherited

◆ fMediumName

char Medium::fMediumName[mediumNameMaxLen]
privateinherited

Definition at line 83 of file Media.hh.

Referenced by Medium::name().

◆ fNextIndexRecordNum

unsigned long MPEG2TransportStreamTrickModeFilter::fNextIndexRecordNum
private

Definition at line 87 of file MPEG2TransportStreamTrickModeFilter.hh.

Referenced by nextIndexRecordNum().

◆ fNextTask

TaskToken Medium::fNextTask
privateinherited

Definition at line 84 of file Media.hh.

Referenced by Medium::nextTask().

◆ fNextTSPacketNum

unsigned long MPEG2TransportStreamTrickModeFilter::fNextTSPacketNum
private

Definition at line 88 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fNumTruncatedBytes

unsigned FramedSource::fNumTruncatedBytes
protectedinherited

◆ fOnCloseClientData

void* FramedSource::fOnCloseClientData
privateinherited

Definition at line 90 of file FramedSource.hh.

◆ fOnCloseFunc

onCloseFunc* FramedSource::fOnCloseFunc
privateinherited

Definition at line 89 of file FramedSource.hh.

◆ fPresentationTime

struct timeval FramedSource::fPresentationTime
protectedinherited

◆ fSavedFrameIndexRecordStart

unsigned long MPEG2TransportStreamTrickModeFilter::fSavedFrameIndexRecordStart
private

Definition at line 94 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fSavedSequentialIndexRecordNum

unsigned long MPEG2TransportStreamTrickModeFilter::fSavedSequentialIndexRecordNum
private

Definition at line 95 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ fScale

int MPEG2TransportStreamTrickModeFilter::fScale
private

Definition at line 79 of file MPEG2TransportStreamTrickModeFilter.hh.

◆ 

enum { ... } MPEG2TransportStreamTrickModeFilter::fState

◆ fTo

unsigned char* FramedSource::fTo
protectedinherited

◆ fUseSavedFrameNextTime

Boolean MPEG2TransportStreamTrickModeFilter::fUseSavedFrameNextTime
private

Definition at line 96 of file MPEG2TransportStreamTrickModeFilter.hh.


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