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

#include <MPEG1or2VideoStreamDiscreteFramer.hh>

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

BooleanpictureEndMarker ()
 
void flushInput ()
 
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 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 MPEG1or2VideoStreamDiscreteFramercreateNew (UsageEnvironment &env, FramedSource *inputSource, Boolean iFramesOnly=False, double vshPeriod=5.0, Boolean leavePresentationTimesUnmodified=False)
 
static MPEG1or2VideoStreamFramercreateNew (UsageEnvironment &env, FramedSource *inputSource, Boolean iFramesOnly=False, double vshPeriod=5.0)
 
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

 MPEG1or2VideoStreamDiscreteFramer (UsageEnvironment &env, FramedSource *inputSource, Boolean iFramesOnly, double vshPeriod, Boolean leavePresentationTimesUnmodified)
 
virtual ~MPEG1or2VideoStreamDiscreteFramer ()
 
virtual void doGetNextFrame ()
 
void afterGettingFrame1 (unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
 
void computePresentationTime (unsigned numAdditionalPictures)
 
void setTimeCode (unsigned hours, unsigned minutes, unsigned seconds, unsigned pictures, unsigned picturesSinceLastGOP)
 
virtual void doStopGettingFrames ()
 
virtual char const * MIMEtype () const
 
virtual void getAttributes () const
 
TaskTokennextTask ()
 

Static Protected Member Functions

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

Protected Attributes

Boolean fLeavePresentationTimesUnmodified
 
struct timeval fLastNonBFramePresentationTime
 
unsigned fLastNonBFrameTemporal_reference
 
unsigned char fSavedVSHBuffer [VSH_MAX_SIZE]
 
unsigned fSavedVSHSize
 
double fSavedVSHTimestamp
 
Boolean fIFramesOnly
 
double fVSHPeriod
 
double fFrameRate
 
unsigned fPictureCount
 
Boolean fPictureEndMarker
 
struct timeval fPresentationTimeBase
 
class MPEGVideoStreamParserfParser
 
FramedSourcefInputSource
 
unsigned char * fTo
 
unsigned fMaxSize
 
unsigned fFrameSize
 
unsigned fNumTruncatedBytes
 
struct timeval fPresentationTime
 
unsigned fDurationInMicroseconds
 

Private Member Functions

virtual Boolean isMPEG1or2VideoStreamFramer () const
 
double getCurrentPTS () const
 
void reset ()
 
void continueReadProcessing ()
 
virtual Boolean isFramedSource () const
 
virtual Boolean isSource () const
 

Static Private Member Functions

static void continueReadProcessing (void *clientData, unsigned char *ptr, unsigned size, struct timeval presentationTime)
 

Private Attributes

TimeCode fCurGOPTimeCode
 
TimeCode fPrevGOPTimeCode
 
unsigned fPicturesAdjustment
 
double fPictureTimeBase
 
unsigned fTcSecsBase
 
Boolean fHaveSeenFirstTimeCode
 
afterGettingFuncfAfterGettingFunc
 
void * fAfterGettingClientData
 
onCloseFuncfOnCloseFunc
 
void * fOnCloseClientData
 
Boolean fIsCurrentlyAwaitingData
 
UsageEnvironmentfEnviron
 
char fMediumName [mediumNameMaxLen]
 
TaskToken fNextTask
 

Detailed Description

Definition at line 33 of file MPEG1or2VideoStreamDiscreteFramer.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.

Constructor & Destructor Documentation

◆ MPEG1or2VideoStreamDiscreteFramer()

MPEG1or2VideoStreamDiscreteFramer::MPEG1or2VideoStreamDiscreteFramer ( UsageEnvironment env,
FramedSource inputSource,
Boolean  iFramesOnly,
double  vshPeriod,
Boolean  leavePresentationTimesUnmodified 
)
protected

◆ ~MPEG1or2VideoStreamDiscreteFramer()

virtual MPEG1or2VideoStreamDiscreteFramer::~MPEG1or2VideoStreamDiscreteFramer ( )
protectedvirtual

Member Function Documentation

◆ afterGetting()

static void FramedSource::afterGetting ( FramedSource source)
staticinherited

◆ afterGettingFrame()

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

◆ afterGettingFrame1()

void MPEG1or2VideoStreamDiscreteFramer::afterGettingFrame1 ( unsigned  frameSize,
unsigned  numTruncatedBytes,
struct timeval  presentationTime,
unsigned  durationInMicroseconds 
)
protected

◆ close() [1/2]

static void Medium::close ( Medium medium)
staticinherited

◆ close() [2/2]

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

◆ computePresentationTime()

void MPEGVideoStreamFramer::computePresentationTime ( unsigned  numAdditionalPictures)
protectedinherited

◆ continueReadProcessing() [1/2]

void MPEGVideoStreamFramer::continueReadProcessing ( )
privateinherited

◆ continueReadProcessing() [2/2]

static void MPEGVideoStreamFramer::continueReadProcessing ( void *  clientData,
unsigned char *  ptr,
unsigned  size,
struct timeval  presentationTime 
)
staticprivateinherited

◆ createNew() [1/2]

static MPEG1or2VideoStreamFramer* MPEG1or2VideoStreamFramer::createNew ( UsageEnvironment env,
FramedSource inputSource,
Boolean  iFramesOnly = False,
double  vshPeriod = 5.0 
)
staticinherited

◆ createNew() [2/2]

static MPEG1or2VideoStreamDiscreteFramer* MPEG1or2VideoStreamDiscreteFramer::createNew ( UsageEnvironment env,
FramedSource inputSource,
Boolean  iFramesOnly = False,
double  vshPeriod = 5.0,
Boolean  leavePresentationTimesUnmodified = False 
)
static

◆ detachInputSource()

void FramedFilter::detachInputSource ( )
inherited

◆ doGetNextFrame()

virtual void MPEG1or2VideoStreamDiscreteFramer::doGetNextFrame ( )
protectedvirtual

Reimplemented from MPEGVideoStreamFramer.

◆ doStopGettingFrames()

virtual void MPEGVideoStreamFramer::doStopGettingFrames ( )
protectedvirtualinherited

Reimplemented from FramedFilter.

◆ envir()

UsageEnvironment& Medium::envir ( ) const
inlineinherited

◆ flushInput()

void MPEGVideoStreamFramer::flushInput ( )
inherited

◆ getAttributes()

virtual void FramedFilter::getAttributes ( ) const
protectedvirtualinherited

Reimplemented from MediaSource.

Reimplemented in MP3ADUTranscoder.

◆ getCurrentPTS()

double MPEG1or2VideoStreamFramer::getCurrentPTS ( ) const
privateinherited

◆ 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; }
FramedSource * fInputSource
Definition: FramedFilter.hh:49

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 MPEG1or2VideoStreamFramer::isMPEG1or2VideoStreamFramer ( ) const
privatevirtualinherited

Reimplemented from MediaSource.

◆ 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 MP3FromADUSource, and ADUFromMP3Source.

◆ 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.

◆ 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.

◆ pictureEndMarker()

Boolean& MPEGVideoStreamFramer::pictureEndMarker ( )
inlineinherited

◆ reassignInputSource()

void FramedFilter::reassignInputSource ( FramedSource newInputSource)
inlineinherited

Definition at line 32 of file FramedFilter.hh.

32 { fInputSource = newInputSource; }

References FramedFilter::fInputSource.

◆ reset()

void MPEGVideoStreamFramer::reset ( )
privateinherited

◆ setTimeCode()

void MPEGVideoStreamFramer::setTimeCode ( unsigned  hours,
unsigned  minutes,
unsigned  seconds,
unsigned  pictures,
unsigned  picturesSinceLastGOP 
)
protectedinherited

◆ 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.

◆ fCurGOPTimeCode

TimeCode MPEGVideoStreamFramer::fCurGOPTimeCode
privateinherited

Definition at line 78 of file MPEGVideoStreamFramer.hh.

◆ fDurationInMicroseconds

unsigned FramedSource::fDurationInMicroseconds
protectedinherited

◆ fEnviron

UsageEnvironment& Medium::fEnviron
privateinherited

Definition at line 82 of file Media.hh.

Referenced by Medium::envir().

◆ fFrameRate

double MPEGVideoStreamFramer::fFrameRate
protectedinherited

Definition at line 68 of file MPEGVideoStreamFramer.hh.

◆ fFrameSize

unsigned FramedSource::fFrameSize
protectedinherited

◆ fHaveSeenFirstTimeCode

Boolean MPEGVideoStreamFramer::fHaveSeenFirstTimeCode
privateinherited

Definition at line 82 of file MPEGVideoStreamFramer.hh.

◆ fIFramesOnly

Boolean MPEG1or2VideoStreamDiscreteFramer::fIFramesOnly
protected

Definition at line 72 of file MPEG1or2VideoStreamDiscreteFramer.hh.

◆ fInputSource

FramedSource* FramedFilter::fInputSource
protectedinherited

◆ fIsCurrentlyAwaitingData

Boolean FramedSource::fIsCurrentlyAwaitingData
privateinherited

Definition at line 92 of file FramedSource.hh.

Referenced by FramedSource::isCurrentlyAwaitingData().

◆ fLastNonBFramePresentationTime

struct timeval MPEG1or2VideoStreamDiscreteFramer::fLastNonBFramePresentationTime
protected

Definition at line 63 of file MPEG1or2VideoStreamDiscreteFramer.hh.

◆ fLastNonBFrameTemporal_reference

unsigned MPEG1or2VideoStreamDiscreteFramer::fLastNonBFrameTemporal_reference
protected

Definition at line 65 of file MPEG1or2VideoStreamDiscreteFramer.hh.

◆ fLeavePresentationTimesUnmodified

Boolean MPEG1or2VideoStreamDiscreteFramer::fLeavePresentationTimesUnmodified
protected

Definition at line 63 of file MPEG1or2VideoStreamDiscreteFramer.hh.

◆ fMaxSize

unsigned FramedSource::fMaxSize
protectedinherited

◆ fMediumName

char Medium::fMediumName[mediumNameMaxLen]
privateinherited

Definition at line 83 of file Media.hh.

Referenced by Medium::name().

◆ fNextTask

TaskToken Medium::fNextTask
privateinherited

Definition at line 84 of file Media.hh.

Referenced by Medium::nextTask().

◆ 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.

◆ fParser

class MPEGVideoStreamParser* MPEGVideoStreamFramer::fParser
protectedinherited

Definition at line 74 of file MPEGVideoStreamFramer.hh.

◆ fPictureCount

unsigned MPEGVideoStreamFramer::fPictureCount
protectedinherited

Definition at line 69 of file MPEGVideoStreamFramer.hh.

◆ fPictureEndMarker

Boolean MPEGVideoStreamFramer::fPictureEndMarker
protectedinherited

Definition at line 70 of file MPEGVideoStreamFramer.hh.

Referenced by MPEGVideoStreamFramer::pictureEndMarker().

◆ fPicturesAdjustment

unsigned MPEGVideoStreamFramer::fPicturesAdjustment
privateinherited

Definition at line 79 of file MPEGVideoStreamFramer.hh.

◆ fPictureTimeBase

double MPEGVideoStreamFramer::fPictureTimeBase
privateinherited

Definition at line 80 of file MPEGVideoStreamFramer.hh.

◆ fPresentationTime

struct timeval FramedSource::fPresentationTime
protectedinherited

◆ fPresentationTimeBase

struct timeval MPEGVideoStreamFramer::fPresentationTimeBase
protectedinherited

Definition at line 70 of file MPEGVideoStreamFramer.hh.

◆ fPrevGOPTimeCode

TimeCode MPEGVideoStreamFramer::fPrevGOPTimeCode
privateinherited

Definition at line 78 of file MPEGVideoStreamFramer.hh.

◆ fSavedVSHBuffer

unsigned char MPEG1or2VideoStreamDiscreteFramer::fSavedVSHBuffer[VSH_MAX_SIZE]
protected

Definition at line 69 of file MPEG1or2VideoStreamDiscreteFramer.hh.

◆ fSavedVSHSize

unsigned MPEG1or2VideoStreamDiscreteFramer::fSavedVSHSize
protected

Definition at line 70 of file MPEG1or2VideoStreamDiscreteFramer.hh.

◆ fSavedVSHTimestamp

double MPEG1or2VideoStreamDiscreteFramer::fSavedVSHTimestamp
protected

Definition at line 71 of file MPEG1or2VideoStreamDiscreteFramer.hh.

◆ fTcSecsBase

unsigned MPEGVideoStreamFramer::fTcSecsBase
privateinherited

Definition at line 81 of file MPEGVideoStreamFramer.hh.

◆ fTo

unsigned char* FramedSource::fTo
protectedinherited

◆ fVSHPeriod

double MPEG1or2VideoStreamDiscreteFramer::fVSHPeriod
protected

Definition at line 73 of file MPEG1or2VideoStreamDiscreteFramer.hh.


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