live
MPEG4VideoStreamFramer Class Reference

#include <MPEG4VideoStreamFramer.hh>

Inheritance diagram for MPEG4VideoStreamFramer:
Collaboration diagram for MPEG4VideoStreamFramer:

Public Types

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

Public Member Functions

u_int8_t profile_and_level_indication () const
unsigned char * getConfigBytes (unsigned &numBytes) const
void setConfigInfo (u_int8_t profileAndLevelIndication, char const *configStr)
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 isMPEG1or2VideoStreamFramer () 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 MPEG4VideoStreamFramercreateNew (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

 MPEG4VideoStreamFramer (UsageEnvironment &env, FramedSource *inputSource, Boolean createParser=True)
virtual ~MPEG4VideoStreamFramer ()
void startNewConfig ()
void appendToNewConfig (unsigned char *newConfigBytes, unsigned numNewBytes)
void completeNewConfig ()
void computePresentationTime (unsigned numAdditionalPictures)
void setTimeCode (unsigned hours, unsigned minutes, unsigned seconds, unsigned pictures, unsigned picturesSinceLastGOP)
virtual void doGetNextFrame ()
virtual void doStopGettingFrames ()
virtual char const * MIMEtype () const
virtual void getAttributes () const
TaskTokennextTask ()

Protected Attributes

u_int8_t fProfileAndLevelIndication
unsigned char * fConfigBytes
unsigned fNumConfigBytes
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 isMPEG4VideoStreamFramer () 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

unsigned char * fNewConfigBytes
unsigned fNumNewConfigBytes
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

Friends

class MPEG4VideoStreamParser

Detailed Description

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

◆ MPEG4VideoStreamFramer()

MPEG4VideoStreamFramer::MPEG4VideoStreamFramer ( UsageEnvironment & env,
FramedSource * inputSource,
Boolean createParser = True )
protected

◆ ~MPEG4VideoStreamFramer()

virtual MPEG4VideoStreamFramer::~MPEG4VideoStreamFramer ( )
protectedvirtual

Member Function Documentation

◆ afterGetting()

void FramedSource::afterGetting ( FramedSource * source)
staticinherited

References FramedSource().

◆ appendToNewConfig()

void MPEG4VideoStreamFramer::appendToNewConfig ( unsigned char * newConfigBytes,
unsigned numNewBytes )
protected

◆ close() [1/2]

void Medium::close ( Medium * medium)
staticinherited

References Medium().

◆ close() [2/2]

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

◆ completeNewConfig()

void MPEG4VideoStreamFramer::completeNewConfig ( )
protected

◆ computePresentationTime()

void MPEGVideoStreamFramer::computePresentationTime ( unsigned numAdditionalPictures)
protectedinherited

◆ continueReadProcessing() [1/2]

void MPEGVideoStreamFramer::continueReadProcessing ( )
privateinherited

◆ continueReadProcessing() [2/2]

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

◆ createNew()

MPEG4VideoStreamFramer * MPEG4VideoStreamFramer::createNew ( UsageEnvironment & env,
FramedSource * inputSource )
static

◆ detachInputSource()

void FramedFilter::detachInputSource ( )
inherited

◆ doGetNextFrame()

virtual void MPEGVideoStreamFramer::doGetNextFrame ( )
protectedvirtualinherited

◆ doStopGettingFrames()

virtual void MPEGVideoStreamFramer::doStopGettingFrames ( )
protectedvirtualinherited

Reimplemented from FramedFilter.

◆ envir()

UsageEnvironment & Medium::envir ( ) const
inlineinherited

Definition at line 59 of file Media.hh.

59{return fEnviron;}
UsageEnvironment & fEnviron
Definition Media.hh:82

References fEnviron.

Referenced by MediaSubsession::env(), GenericMediaServer::ClientConnection::envir(), GenericMediaServer::ClientSession::envir(), and RTPInterface::envir().

◆ flushInput()

void MPEGVideoStreamFramer::flushInput ( )
inherited

◆ getAttributes()

virtual void FramedFilter::getAttributes ( ) const
protectedvirtualinherited

Reimplemented from MediaSource.

Reimplemented in MP3ADUTranscoder.

◆ getConfigBytes()

unsigned char * MPEG4VideoStreamFramer::getConfigBytes ( unsigned & numBytes) const

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

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

References fInputSource, and FramedSource::FramedSource().

Referenced by AC3AudioStreamFramer::AC3AudioStreamFramer(), ADTSAudioStreamDiscreteFramer::ADTSAudioStreamDiscreteFramer(), ADUFromMP3Source::ADUFromMP3Source(), AC3AudioStreamFramer::createNew(), ADTSAudioStreamDiscreteFramer::createNew(), ADUFromMP3Source::createNew(), DVVideoStreamFramer::createNew(), EndianSwap16::createNew(), EndianSwap24::createNew(), H263plusVideoStreamFramer::createNew(), H264VideoStreamDiscreteFramer::createNew(), H264VideoStreamFramer::createNew(), H265VideoStreamDiscreteFramer::createNew(), H265VideoStreamFramer::createNew(), HostFromNetworkOrder16::createNew(), MP3ADUdeinterleaver::createNew(), MP3ADUinterleaver::createNew(), MP3ADUTranscoder::createNew(), MP3FromADUSource::createNew(), MP3Transcoder::createNew(), MPEG1or2AudioStreamFramer::createNew(), MPEG1or2VideoStreamDiscreteFramer::createNew(), MPEG1or2VideoStreamFramer::createNew(), MPEG2IFrameIndexFromTransportStream::createNew(), MPEG2TransportStreamAccumulator::createNew(), MPEG2TransportStreamFramer::createNew(), MPEG2TransportStreamTrickModeFilter::createNew(), MPEG4VideoStreamDiscreteFramer::createNew(), MPEG4VideoStreamFramer::createNew(), NetworkFromHostOrder16::createNew(), PCMFromuLawAudioSource::createNew(), uLawFromPCMAudioSource::createNew(), DVVideoStreamFramer::DVVideoStreamFramer(), EndianSwap16::EndianSwap16(), EndianSwap24::EndianSwap24(), FramedFilter(), H263plusVideoStreamFramer::H263plusVideoStreamFramer(), H264or5VideoStreamDiscreteFramer::H264or5VideoStreamDiscreteFramer(), H264or5VideoStreamFramer::H264or5VideoStreamFramer(), H264VideoStreamDiscreteFramer::H264VideoStreamDiscreteFramer(), H264VideoStreamFramer::H264VideoStreamFramer(), H265VideoStreamDiscreteFramer::H265VideoStreamDiscreteFramer(), H265VideoStreamFramer::H265VideoStreamFramer(), HostFromNetworkOrder16::HostFromNetworkOrder16(), MP3ADUdeinterleaver::MP3ADUdeinterleaver(), MP3ADUinterleaver::MP3ADUinterleaver(), MP3ADUinterleaverBase::MP3ADUinterleaverBase(), MP3ADUTranscoder::MP3ADUTranscoder(), MP3FromADUSource::MP3FromADUSource(), MPEG1or2AudioStreamFramer::MPEG1or2AudioStreamFramer(), MPEG1or2VideoStreamDiscreteFramer::MPEG1or2VideoStreamDiscreteFramer(), MPEG1or2VideoStreamFramer::MPEG1or2VideoStreamFramer(), MPEG2IFrameIndexFromTransportStream::MPEG2IFrameIndexFromTransportStream(), MPEG2TransportStreamAccumulator::MPEG2TransportStreamAccumulator(), MPEG2TransportStreamFramer::MPEG2TransportStreamFramer(), MPEG2TransportStreamTrickModeFilter::MPEG2TransportStreamTrickModeFilter(), MPEG4VideoStreamDiscreteFramer::MPEG4VideoStreamDiscreteFramer(), MPEG4VideoStreamFramer::MPEG4VideoStreamFramer(), MPEGVideoStreamFramer::MPEGVideoStreamFramer(), NetworkFromHostOrder16::NetworkFromHostOrder16(), PCMFromuLawAudioSource::PCMFromuLawAudioSource(), PresentationTimeSubsessionNormalizer::PresentationTimeSubsessionNormalizer(), T140IdleFilter::T140IdleFilter(), and uLawFromPCMAudioSource::uLawFromPCMAudioSource().

◆ 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

References 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 MPEG4VideoStreamFramer::isMPEG4VideoStreamFramer ( ) const
privatevirtual

Reimplemented from MediaSource.

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

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

References FramedSource().

◆ lookupByName() [2/3]

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

References MediaSource().

◆ lookupByName() [3/3]

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

References Medium().

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

Referenced by QuickTimeFileSink::_atom(), RTSPServer::lookupByName(), RTCPInstance::sendAppPacket(), and OnDemandServerMediaSubsession::sendRTCPAppPacket().

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

◆ pictureEndMarker()

Boolean & MPEGVideoStreamFramer::pictureEndMarker ( )
inlineinherited

Definition at line 40 of file MPEGVideoStreamFramer.hh.

References fPictureEndMarker.

◆ profile_and_level_indication()

u_int8_t MPEG4VideoStreamFramer::profile_and_level_indication ( ) const
inline

Definition at line 38 of file MPEG4VideoStreamFramer.hh.

38 {
40 }

References fProfileAndLevelIndication.

◆ reassignInputSource()

void FramedFilter::reassignInputSource ( FramedSource * newInputSource)
inlineinherited

Definition at line 32 of file FramedFilter.hh.

32{ fInputSource = newInputSource; }

References fInputSource, and FramedSource::FramedSource().

◆ reset()

void MPEGVideoStreamFramer::reset ( )
privateinherited

◆ setConfigInfo()

void MPEG4VideoStreamFramer::setConfigInfo ( u_int8_t profileAndLevelIndication,
char const * configStr )

◆ setTimeCode()

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

◆ startNewConfig()

void MPEG4VideoStreamFramer::startNewConfig ( )
protected

◆ stopGettingFrames()

void FramedSource::stopGettingFrames ( )
inherited

◆ MPEG4VideoStreamParser

friend class MPEG4VideoStreamParser
friend

Definition at line 72 of file MPEG4VideoStreamFramer.hh.

References MPEG4VideoStreamParser.

Referenced by MPEG4VideoStreamParser.

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.

◆ fConfigBytes

unsigned char* MPEG4VideoStreamFramer::fConfigBytes
protected

Definition at line 66 of file MPEG4VideoStreamFramer.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 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.

◆ fInputSource

◆ fIsCurrentlyAwaitingData

Boolean FramedSource::fIsCurrentlyAwaitingData
privateinherited

Definition at line 92 of file FramedSource.hh.

Referenced by isCurrentlyAwaitingData().

◆ fMaxSize

unsigned FramedSource::fMaxSize
protectedinherited

◆ fMediumName

char Medium::fMediumName[mediumNameMaxLen]
privateinherited

Definition at line 83 of file Media.hh.

Referenced by name().

◆ fNewConfigBytes

unsigned char* MPEG4VideoStreamFramer::fNewConfigBytes
private

Definition at line 70 of file MPEG4VideoStreamFramer.hh.

◆ fNextTask

TaskToken Medium::fNextTask
privateinherited

Definition at line 84 of file Media.hh.

Referenced by nextTask().

◆ fNumConfigBytes

unsigned MPEG4VideoStreamFramer::fNumConfigBytes
protected

Definition at line 67 of file MPEG4VideoStreamFramer.hh.

◆ fNumNewConfigBytes

unsigned MPEG4VideoStreamFramer::fNumNewConfigBytes
private

Definition at line 71 of file MPEG4VideoStreamFramer.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.

◆ 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 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 71 of file MPEGVideoStreamFramer.hh.

◆ fPrevGOPTimeCode

TimeCode MPEGVideoStreamFramer::fPrevGOPTimeCode
privateinherited

Definition at line 78 of file MPEGVideoStreamFramer.hh.

◆ fProfileAndLevelIndication

u_int8_t MPEG4VideoStreamFramer::fProfileAndLevelIndication
protected

Definition at line 65 of file MPEG4VideoStreamFramer.hh.

Referenced by profile_and_level_indication().

◆ fTcSecsBase

unsigned MPEGVideoStreamFramer::fTcSecsBase
privateinherited

Definition at line 81 of file MPEGVideoStreamFramer.hh.

◆ fTo

unsigned char* FramedSource::fTo
protectedinherited

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