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
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
virtual Boolean isDarwinInjector () 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
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 ()

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

Friends

class MediaLookupTable

Detailed Description

Definition at line 38 of file MPEG2TransportStreamTrickModeFilter.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.


Member Enumeration Documentation

anonymous enum [private]

Enumerator:
SKIPPING_FRAME 
DELIVERING_SAVED_FRAME 
SAVING_AND_DELIVERING_FRAME 

Definition at line 81 of file MPEG2TransportStreamTrickModeFilter.hh.


Constructor & Destructor Documentation

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

virtual MPEG2TransportStreamTrickModeFilter::~MPEG2TransportStreamTrickModeFilter (  )  [protected, virtual]


Member Function Documentation

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

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

unsigned long MPEG2TransportStreamTrickModeFilter::nextIndexRecordNum (  )  const [inline]

Definition at line 46 of file MPEG2TransportStreamTrickModeFilter.hh.

References fNextIndexRecordNum.

00046 { return fNextIndexRecordNum; }

void MPEG2TransportStreamTrickModeFilter::forgetInputSource (  )  [inline]

Definition at line 48 of file MPEG2TransportStreamTrickModeFilter.hh.

References FramedFilter::fInputSource, and NULL.

00048 { fInputSource = NULL; }

virtual void MPEG2TransportStreamTrickModeFilter::doGetNextFrame (  )  [private, virtual]

Implements FramedSource.

virtual void MPEG2TransportStreamTrickModeFilter::doStopGettingFrames (  )  [private, virtual]

Reimplemented from FramedFilter.

void MPEG2TransportStreamTrickModeFilter::attemptDeliveryToClient (  )  [private]

void MPEG2TransportStreamTrickModeFilter::seekToTransportPacket ( unsigned long  tsPacketNum  )  [private]

void MPEG2TransportStreamTrickModeFilter::readTransportPacket ( unsigned long  tsPacketNum  )  [private]

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

void MPEG2TransportStreamTrickModeFilter::afterGettingFrame1 ( unsigned  frameSize  )  [private]

static void MPEG2TransportStreamTrickModeFilter::onSourceClosure ( void *  clientData  )  [static, private]

void MPEG2TransportStreamTrickModeFilter::onSourceClosure1 (  )  [private]

FramedSource* FramedFilter::inputSource (  )  const [inline, inherited]

Definition at line 30 of file FramedFilter.hh.

References FramedFilter::fInputSource.

00030 { return fInputSource; }

void FramedFilter::reassignInputSource ( FramedSource newInputSource  )  [inline, inherited]

Definition at line 32 of file FramedFilter.hh.

References FramedFilter::fInputSource.

00032 { fInputSource = newInputSource; }

void FramedFilter::detachInputSource (  )  [inherited]

virtual char const* FramedFilter::MIMEtype (  )  const [protected, virtual, inherited]

Reimplemented from MediaSource.

Reimplemented in ADUFromMP3Source, and MP3FromADUSource.

virtual void FramedFilter::getAttributes (  )  const [protected, virtual, inherited]

Reimplemented from MediaSource.

Reimplemented in MP3ADUTranscoder.

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

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

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

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

static void FramedSource::handleClosure ( void *  clientData  )  [static, inherited]

void FramedSource::handleClosure (  )  [inherited]

void FramedSource::stopGettingFrames (  )  [inherited]

virtual unsigned FramedSource::maxFrameSize (  )  const [virtual, inherited]

Reimplemented in MPEG1or2DemuxedElementaryStream.

Boolean FramedSource::isCurrentlyAwaitingData (  )  const [inline, inherited]

Definition at line 61 of file FramedSource.hh.

References FramedSource::fIsCurrentlyAwaitingData.

00061 {return fIsCurrentlyAwaitingData;}

static void FramedSource::afterGetting ( FramedSource source  )  [static, inherited]

virtual Boolean MediaSource::isRTPSource (  )  const [virtual, inherited]

Reimplemented in RTPSource.

virtual Boolean MediaSource::isMPEG1or2VideoStreamFramer (  )  const [virtual, inherited]

Reimplemented in MPEG1or2VideoStreamFramer.

virtual Boolean MediaSource::isMPEG4VideoStreamFramer (  )  const [virtual, inherited]

Reimplemented in MPEG4VideoStreamFramer.

virtual Boolean MediaSource::isH264VideoStreamFramer (  )  const [virtual, inherited]

Reimplemented in H264VideoStreamDiscreteFramer, and H264VideoStreamFramer.

virtual Boolean MediaSource::isH265VideoStreamFramer (  )  const [virtual, inherited]

Reimplemented in H265VideoStreamDiscreteFramer, and H265VideoStreamFramer.

virtual Boolean MediaSource::isDVVideoStreamFramer (  )  const [virtual, inherited]

Reimplemented in DVVideoStreamFramer.

virtual Boolean MediaSource::isJPEGVideoSource (  )  const [virtual, inherited]

Reimplemented in JPEGVideoSource.

virtual Boolean MediaSource::isAMRAudioSource (  )  const [virtual, inherited]

Reimplemented in AMRAudioSource.

static void Medium::close ( UsageEnvironment env,
char const *  mediumName 
) [static, inherited]

static void Medium::close ( Medium medium  )  [static, inherited]

UsageEnvironment& Medium::envir (  )  const [inline, inherited]

Definition at line 59 of file Media.hh.

References Medium::fEnviron.

Referenced by MediaSubsession::env(), RTSPServer::RTSPClientSession::envir(), RTSPServer::RTSPClientConnection::envir(), and RTPInterface::envir().

00059 {return fEnviron;}

char const* Medium::name (  )  const [inline, inherited]

Definition at line 61 of file Media.hh.

References Medium::fMediumName.

00061 {return fMediumName;}

virtual Boolean Medium::isSink (  )  const [virtual, inherited]

Reimplemented in MediaSink.

virtual Boolean Medium::isRTCPInstance (  )  const [virtual, inherited]

Reimplemented in RTCPInstance.

virtual Boolean Medium::isRTSPClient (  )  const [virtual, inherited]

Reimplemented in RTSPClient.

virtual Boolean Medium::isRTSPServer (  )  const [virtual, inherited]

Reimplemented in RTSPServer.

virtual Boolean Medium::isMediaSession (  )  const [virtual, inherited]

Reimplemented in MediaSession.

virtual Boolean Medium::isServerMediaSession (  )  const [virtual, inherited]

Reimplemented in ServerMediaSession.

virtual Boolean Medium::isDarwinInjector (  )  const [virtual, inherited]

Reimplemented in DarwinInjector.

TaskToken& Medium::nextTask (  )  [inline, protected, inherited]

Definition at line 78 of file Media.hh.

References Medium::fNextTask.

00078                         {
00079         return fNextTask;
00080   }


Friends And Related Function Documentation

friend class MediaLookupTable [friend, inherited]

Definition at line 74 of file Media.hh.


Field Documentation

Boolean MPEG2TransportStreamTrickModeFilter::fHaveStarted [private]

Definition at line 77 of file MPEG2TransportStreamTrickModeFilter.hh.

MPEG2TransportStreamIndexFile* MPEG2TransportStreamTrickModeFilter::fIndexFile [private]

Definition at line 78 of file MPEG2TransportStreamTrickModeFilter.hh.

int MPEG2TransportStreamTrickModeFilter::fScale [private]

Definition at line 79 of file MPEG2TransportStreamTrickModeFilter.hh.

int MPEG2TransportStreamTrickModeFilter::fDirection [private]

Definition at line 80 of file MPEG2TransportStreamTrickModeFilter.hh.

enum { ... } MPEG2TransportStreamTrickModeFilter::fState [private]

unsigned MPEG2TransportStreamTrickModeFilter::fFrameCount [private]

Definition at line 86 of file MPEG2TransportStreamTrickModeFilter.hh.

unsigned long MPEG2TransportStreamTrickModeFilter::fNextIndexRecordNum [private]

Definition at line 87 of file MPEG2TransportStreamTrickModeFilter.hh.

Referenced by nextIndexRecordNum().

unsigned long MPEG2TransportStreamTrickModeFilter::fNextTSPacketNum [private]

Definition at line 88 of file MPEG2TransportStreamTrickModeFilter.hh.

unsigned char MPEG2TransportStreamTrickModeFilter::fInputBuffer[TRANSPORT_PACKET_SIZE] [private]

Definition at line 89 of file MPEG2TransportStreamTrickModeFilter.hh.

unsigned long MPEG2TransportStreamTrickModeFilter::fCurrentTSPacketNum [private]

Definition at line 90 of file MPEG2TransportStreamTrickModeFilter.hh.

unsigned long MPEG2TransportStreamTrickModeFilter::fDesiredTSPacketNum [private]

Definition at line 91 of file MPEG2TransportStreamTrickModeFilter.hh.

u_int8_t MPEG2TransportStreamTrickModeFilter::fDesiredDataOffset [private]

Definition at line 92 of file MPEG2TransportStreamTrickModeFilter.hh.

u_int8_t MPEG2TransportStreamTrickModeFilter::fDesiredDataSize [private]

Definition at line 92 of file MPEG2TransportStreamTrickModeFilter.hh.

float MPEG2TransportStreamTrickModeFilter::fDesiredDataPCR [private]

Definition at line 93 of file MPEG2TransportStreamTrickModeFilter.hh.

float MPEG2TransportStreamTrickModeFilter::fFirstPCR [private]

Definition at line 93 of file MPEG2TransportStreamTrickModeFilter.hh.

unsigned long MPEG2TransportStreamTrickModeFilter::fSavedFrameIndexRecordStart [private]

Definition at line 94 of file MPEG2TransportStreamTrickModeFilter.hh.

unsigned long MPEG2TransportStreamTrickModeFilter::fSavedSequentialIndexRecordNum [private]

Definition at line 95 of file MPEG2TransportStreamTrickModeFilter.hh.

Boolean MPEG2TransportStreamTrickModeFilter::fUseSavedFrameNextTime [private]

Definition at line 96 of file MPEG2TransportStreamTrickModeFilter.hh.

FramedSource* FramedFilter::fInputSource [protected, inherited]

Definition at line 49 of file FramedFilter.hh.

Referenced by MPEG2TransportStreamFramer::changeInputSource(), forgetInputSource(), FramedFilter::inputSource(), and FramedFilter::reassignInputSource().

unsigned char* FramedSource::fTo [protected, inherited]

Definition at line 75 of file FramedSource.hh.

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

unsigned FramedSource::fMaxSize [protected, inherited]

Definition at line 76 of file FramedSource.hh.

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

unsigned FramedSource::fFrameSize [protected, inherited]

Definition at line 77 of file FramedSource.hh.

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

unsigned FramedSource::fNumTruncatedBytes [protected, inherited]

Definition at line 78 of file FramedSource.hh.

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

struct timeval FramedSource::fPresentationTime [read, protected, inherited]

Definition at line 79 of file FramedSource.hh.

Referenced by OggDemuxedTrack::presentationTime(), MatroskaDemuxedTrack::presentationTime(), and H264or5VideoStreamFramer::setPresentationTime().

unsigned FramedSource::fDurationInMicroseconds [protected, inherited]

Definition at line 80 of file FramedSource.hh.

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


The documentation for this class was generated from the following file:
Generated on Sun Jul 13 05:11:55 2014 for live by  doxygen 1.5.2