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

#include <H265VideoStreamDiscreteFramer.hh>

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

void getVPSandSPSandPPS (u_int8_t *&vps, unsigned &vpsSize, u_int8_t *&sps, unsigned &spsSize, u_int8_t *&pps, unsigned &ppsSize) const
 
void setVPSandSPSandPPS (u_int8_t *vps, unsigned vpsSize, u_int8_t *sps, unsigned spsSize, u_int8_t *pps, unsigned ppsSize)
 
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 isMPEG4VideoStreamFramer () const
 
virtual Boolean isH264VideoStreamFramer () 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 H265VideoStreamDiscreteFramercreateNew (UsageEnvironment &env, FramedSource *inputSource, Boolean includeStartCodeInOutput=False, Boolean insertAccessUnitDelimiters=False)
 
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

 H265VideoStreamDiscreteFramer (UsageEnvironment &env, FramedSource *inputSource, Boolean includeStartCodeInOutput, Boolean insertAccessUnitDelimiters)
 
virtual ~H265VideoStreamDiscreteFramer ()
 
virtual void doGetNextFrame ()
 
void afterGettingFrame1 (unsigned frameSize, unsigned numTruncatedBytes, struct timeval presentationTime, unsigned durationInMicroseconds)
 
virtual Boolean nalUnitEndsAccessUnit (u_int8_t nal_unit_type)
 
void saveCopyOfVPS (u_int8_t *from, unsigned size)
 
void saveCopyOfSPS (u_int8_t *from, unsigned size)
 
void saveCopyOfPPS (u_int8_t *from, unsigned size)
 
void setPresentationTime ()
 
Boolean isVPS (u_int8_t nal_unit_type)
 
Boolean isSPS (u_int8_t nal_unit_type)
 
Boolean isPPS (u_int8_t nal_unit_type)
 
Boolean isVCL (u_int8_t nal_unit_type)
 
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

int fHNumber
 
Boolean fIncludeStartCodeInOutput
 
Boolean fInsertAccessUnitDelimiters
 
u_int8_t * fLastSeenVPS
 
unsigned fLastSeenVPSSize
 
u_int8_t * fLastSeenSPS
 
unsigned fLastSeenSPSSize
 
u_int8_t * fLastSeenPPS
 
unsigned fLastSeenPPSSize
 
struct timeval fNextPresentationTime
 
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 isH265VideoStreamFramer () const
 

Detailed Description

Definition at line 31 of file H265VideoStreamDiscreteFramer.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

◆ H265VideoStreamDiscreteFramer()

H265VideoStreamDiscreteFramer::H265VideoStreamDiscreteFramer ( UsageEnvironment env,
FramedSource inputSource,
Boolean  includeStartCodeInOutput,
Boolean  insertAccessUnitDelimiters 
)
protected

◆ ~H265VideoStreamDiscreteFramer()

virtual H265VideoStreamDiscreteFramer::~H265VideoStreamDiscreteFramer ( )
protectedvirtual

Member Function Documentation

◆ afterGetting()

static void FramedSource::afterGetting ( FramedSource source)
staticinherited

◆ afterGettingFrame()

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

◆ afterGettingFrame1()

void H264or5VideoStreamDiscreteFramer::afterGettingFrame1 ( unsigned  frameSize,
unsigned  numTruncatedBytes,
struct timeval  presentationTime,
unsigned  durationInMicroseconds 
)
protectedinherited

◆ close() [1/2]

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

◆ close() [2/2]

static void Medium::close ( Medium medium)
staticinherited

◆ computePresentationTime()

void MPEGVideoStreamFramer::computePresentationTime ( unsigned  numAdditionalPictures)
protectedinherited

◆ createNew()

static H265VideoStreamDiscreteFramer* H265VideoStreamDiscreteFramer::createNew ( UsageEnvironment env,
FramedSource inputSource,
Boolean  includeStartCodeInOutput = False,
Boolean  insertAccessUnitDelimiters = False 
)
static

◆ detachInputSource()

void FramedFilter::detachInputSource ( )
inherited

◆ doGetNextFrame()

virtual void H264or5VideoStreamDiscreteFramer::doGetNextFrame ( )
protectedvirtualinherited

Reimplemented from H264or5VideoStreamFramer.

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

◆ getNextFrame()

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

◆ getVPSandSPSandPPS()

void H264or5VideoStreamFramer::getVPSandSPSandPPS ( u_int8_t *&  vps,
unsigned &  vpsSize,
u_int8_t *&  sps,
unsigned &  spsSize,
u_int8_t *&  pps,
unsigned &  ppsSize 
) const
inlineinherited

Definition at line 30 of file H264or5VideoStreamFramer.hh.

32  {
33  // Returns pointers to copies of the most recently seen VPS (video parameter set)
34  // SPS (sequence parameter set) and PPS (picture parameter set) NAL units.
35  // (NULL pointers are returned if the NAL units have not yet been seen.)
36  vps = fLastSeenVPS; vpsSize = fLastSeenVPSSize;
37  sps = fLastSeenSPS; spsSize = fLastSeenSPSSize;
38  pps = fLastSeenPPS; ppsSize = fLastSeenPPSSize;
39  }

References H264or5VideoStreamFramer::fLastSeenPPS, H264or5VideoStreamFramer::fLastSeenPPSSize, H264or5VideoStreamFramer::fLastSeenSPS, H264or5VideoStreamFramer::fLastSeenSPSSize, H264or5VideoStreamFramer::fLastSeenVPS, and H264or5VideoStreamFramer::fLastSeenVPSSize.

◆ handleClosure() [1/2]

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

◆ handleClosure() [2/2]

void FramedSource::handleClosure ( )
inherited

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

◆ isH264VideoStreamFramer()

virtual Boolean MediaSource::isH264VideoStreamFramer ( ) const
virtualinherited

◆ isH265VideoStreamFramer()

virtual Boolean H265VideoStreamDiscreteFramer::isH265VideoStreamFramer ( ) const
privatevirtual

Reimplemented from MediaSource.

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

◆ isPPS()

Boolean H264or5VideoStreamFramer::isPPS ( u_int8_t  nal_unit_type)
protectedinherited

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

◆ isSPS()

Boolean H264or5VideoStreamFramer::isSPS ( u_int8_t  nal_unit_type)
protectedinherited

◆ isVCL()

Boolean H264or5VideoStreamFramer::isVCL ( u_int8_t  nal_unit_type)
protectedinherited

◆ isVPS()

Boolean H264or5VideoStreamFramer::isVPS ( u_int8_t  nal_unit_type)
protectedinherited

◆ lookupByName() [1/3]

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

◆ lookupByName() [2/3]

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

◆ lookupByName() [3/3]

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

◆ maxFrameSize()

virtual unsigned FramedSource::maxFrameSize ( ) const
virtualinherited

◆ MIMEtype()

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

Reimplemented from MediaSource.

Reimplemented in MP3FromADUSource, and ADUFromMP3Source.

◆ nalUnitEndsAccessUnit()

virtual Boolean H264or5VideoStreamDiscreteFramer::nalUnitEndsAccessUnit ( u_int8_t  nal_unit_type)
protectedvirtualinherited

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

References FramedFilter::fInputSource.

◆ saveCopyOfPPS()

void H264or5VideoStreamFramer::saveCopyOfPPS ( u_int8_t *  from,
unsigned  size 
)
protectedinherited

◆ saveCopyOfSPS()

void H264or5VideoStreamFramer::saveCopyOfSPS ( u_int8_t *  from,
unsigned  size 
)
protectedinherited

◆ saveCopyOfVPS()

void H264or5VideoStreamFramer::saveCopyOfVPS ( u_int8_t *  from,
unsigned  size 
)
protectedinherited

◆ setPresentationTime()

void H264or5VideoStreamFramer::setPresentationTime ( )
protectedinherited

◆ setTimeCode()

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

◆ setVPSandSPSandPPS()

void H264or5VideoStreamFramer::setVPSandSPSandPPS ( u_int8_t *  vps,
unsigned  vpsSize,
u_int8_t *  sps,
unsigned  spsSize,
u_int8_t *  pps,
unsigned  ppsSize 
)
inlineinherited

Definition at line 41 of file H264or5VideoStreamFramer.hh.

43  {
44  // Assigns copies of the VPS, SPS and PPS NAL units. If this function is not called,
45  // then these NAL units are assigned only if/when they appear in the input stream.
46  saveCopyOfVPS(vps, vpsSize);
47  saveCopyOfSPS(sps, spsSize);
48  saveCopyOfPPS(pps, ppsSize);
49  }
void saveCopyOfSPS(u_int8_t *from, unsigned size)
void saveCopyOfVPS(u_int8_t *from, unsigned size)
void saveCopyOfPPS(u_int8_t *from, unsigned size)

References H264or5VideoStreamFramer::saveCopyOfPPS(), H264or5VideoStreamFramer::saveCopyOfSPS(), and H264or5VideoStreamFramer::saveCopyOfVPS().

◆ stopGettingFrames()

void FramedSource::stopGettingFrames ( )
inherited

Field Documentation

◆ fDurationInMicroseconds

unsigned FramedSource::fDurationInMicroseconds
protectedinherited

◆ fFrameRate

double MPEGVideoStreamFramer::fFrameRate
protectedinherited

Definition at line 68 of file MPEGVideoStreamFramer.hh.

◆ fFrameSize

unsigned FramedSource::fFrameSize
protectedinherited

◆ fHNumber

int H264or5VideoStreamFramer::fHNumber
protectedinherited

Definition at line 74 of file H264or5VideoStreamFramer.hh.

◆ fIncludeStartCodeInOutput

Boolean H264or5VideoStreamFramer::fIncludeStartCodeInOutput
protectedinherited

Definition at line 75 of file H264or5VideoStreamFramer.hh.

◆ fInputSource

FramedSource* FramedFilter::fInputSource
protectedinherited

◆ fInsertAccessUnitDelimiters

Boolean H264or5VideoStreamFramer::fInsertAccessUnitDelimiters
protectedinherited

Definition at line 75 of file H264or5VideoStreamFramer.hh.

◆ fLastSeenPPS

u_int8_t* H264or5VideoStreamFramer::fLastSeenPPS
protectedinherited

◆ fLastSeenPPSSize

unsigned H264or5VideoStreamFramer::fLastSeenPPSSize
protectedinherited

◆ fLastSeenSPS

u_int8_t* H264or5VideoStreamFramer::fLastSeenSPS
protectedinherited

◆ fLastSeenSPSSize

unsigned H264or5VideoStreamFramer::fLastSeenSPSSize
protectedinherited

◆ fLastSeenVPS

u_int8_t* H264or5VideoStreamFramer::fLastSeenVPS
protectedinherited

◆ fLastSeenVPSSize

unsigned H264or5VideoStreamFramer::fLastSeenVPSSize
protectedinherited

◆ fMaxSize

unsigned FramedSource::fMaxSize
protectedinherited

◆ fNextPresentationTime

struct timeval H264or5VideoStreamFramer::fNextPresentationTime
protectedinherited

Definition at line 82 of file H264or5VideoStreamFramer.hh.

◆ fNumTruncatedBytes

unsigned FramedSource::fNumTruncatedBytes
protectedinherited

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

◆ fPresentationTime

struct timeval FramedSource::fPresentationTime
protectedinherited

◆ fPresentationTimeBase

struct timeval MPEGVideoStreamFramer::fPresentationTimeBase
protectedinherited

Definition at line 71 of file MPEGVideoStreamFramer.hh.

◆ fTo

unsigned char* FramedSource::fTo
protectedinherited

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