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

#include <H265VideoRTPSource.hh>

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

u_int64_t currentNALUnitAbsDon () const
 
Boolean curPacketMarkerBit () const
 
unsigned char rtpPayloadFormat () const
 
virtual Boolean hasBeenSynchronizedUsingRTCP ()
 
GroupsockRTPgs () const
 
void setCrypto (SRTPCryptographicContext *crypto)
 
u_int32_t SSRC () const
 
void registerForMultiplexedRTCPPackets (class RTCPInstance *rtcpInstance)
 
void deregisterForMultiplexedRTCPPackets ()
 
unsigned timestampFrequency () const
 
RTPReceptionStatsDBreceptionStatsDB () const
 
u_int32_t lastReceivedSSRC () const
 
BooleanenableRTCPReports ()
 
Boolean const & enableRTCPReports () const
 
void setStreamSocket (int sockNum, unsigned char streamChannelId)
 
void setAuxilliaryReadHandler (AuxHandlerFunc *handlerFunc, void *handlerClientData)
 
u_int16_t curPacketRTPSeqNum () const
 
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 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 H265VideoRTPSourcecreateNew (UsageEnvironment &env, Groupsock *RTPgs, unsigned char rtpPayloadFormat, Boolean expectDONFields=False, unsigned rtpTimestampFrequency=90000)
 
static Boolean lookupByName (UsageEnvironment &env, char const *sourceName, RTPSource *&resultSource)
 
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

 H265VideoRTPSource (UsageEnvironment &env, Groupsock *RTPgs, unsigned char rtpPayloadFormat, Boolean expectDONFields, unsigned rtpTimestampFrequency)
 
virtual ~H265VideoRTPSource ()
 
virtual Boolean processSpecialHeader (BufferedPacket *packet, unsigned &resultSpecialHeaderSize)
 
virtual char const * MIMEtype () const
 
virtual Boolean packetIsUsableInJitterCalculation (unsigned char *packet, unsigned packetSize)
 
virtual void doGetNextFrame ()
 
virtual void doStopGettingFrames ()
 
TaskTokennextTask ()
 

Protected Attributes

Boolean fCurrentPacketBeginsFrame
 
Boolean fCurrentPacketCompletesFrame
 
RTPInterface fRTPInterface
 
u_int16_t fCurPacketRTPSeqNum
 
u_int32_t fCurPacketRTPTimestamp
 
Boolean fCurPacketMarkerBit
 
Boolean fCurPacketHasBeenSynchronizedUsingRTCP
 
u_int32_t fLastReceivedSSRC
 
class RTCPInstancefRTCPInstanceForMultiplexedRTCPPackets
 
SRTPCryptographicContextfCrypto
 
unsigned char * fTo
 
unsigned fMaxSize
 
unsigned fFrameSize
 
unsigned fNumTruncatedBytes
 
struct timeval fPresentationTime
 
unsigned fDurationInMicroseconds
 

Private Member Functions

void computeAbsDonFromDON (u_int16_t DON)
 

Private Attributes

Boolean fExpectDONFields
 
unsigned char fCurPacketNALUnitType
 
u_int16_t fPreviousNALUnitDON
 
u_int64_t fCurrentNALUnitAbsDon
 

Friends

class H265BufferedPacket
 

Detailed Description

Definition at line 28 of file H265VideoRTPSource.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

◆ H265VideoRTPSource()

H265VideoRTPSource::H265VideoRTPSource ( UsageEnvironment env,
Groupsock RTPgs,
unsigned char  rtpPayloadFormat,
Boolean  expectDONFields,
unsigned  rtpTimestampFrequency 
)
protected

◆ ~H265VideoRTPSource()

virtual H265VideoRTPSource::~H265VideoRTPSource ( )
protectedvirtual

Member Function Documentation

◆ afterGetting()

static void FramedSource::afterGetting ( FramedSource source)
staticinherited

◆ close() [1/2]

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

◆ close() [2/2]

static void Medium::close ( Medium medium)
staticinherited

◆ computeAbsDonFromDON()

void H265VideoRTPSource::computeAbsDonFromDON ( u_int16_t  DON)
private

◆ createNew()

static H265VideoRTPSource* H265VideoRTPSource::createNew ( UsageEnvironment env,
Groupsock RTPgs,
unsigned char  rtpPayloadFormat,
Boolean  expectDONFields = False,
unsigned  rtpTimestampFrequency = 90000 
)
static

◆ curPacketMarkerBit()

Boolean RTPSource::curPacketMarkerBit ( ) const
inlineinherited

Definition at line 41 of file RTPSource.hh.

41 { return fCurPacketMarkerBit; }
Boolean fCurPacketMarkerBit
Definition: RTPSource.hh:102

References RTPSource::fCurPacketMarkerBit.

◆ curPacketRTPSeqNum()

u_int16_t RTPSource::curPacketRTPSeqNum ( ) const
inlineinherited

Definition at line 88 of file RTPSource.hh.

88 { return fCurPacketRTPSeqNum; }
u_int16_t fCurPacketRTPSeqNum
Definition: RTPSource.hh:100

References RTPSource::fCurPacketRTPSeqNum.

◆ currentNALUnitAbsDon()

u_int64_t H265VideoRTPSource::currentNALUnitAbsDon ( ) const
inline

Definition at line 38 of file H265VideoRTPSource.hh.

38 { return fCurrentNALUnitAbsDon; }

References fCurrentNALUnitAbsDon.

◆ deregisterForMultiplexedRTCPPackets()

void RTPSource::deregisterForMultiplexedRTCPPackets ( )
inlineinherited

Definition at line 60 of file RTPSource.hh.

#define NULL
void registerForMultiplexedRTCPPackets(class RTCPInstance *rtcpInstance)
Definition: RTPSource.hh:57

References NULL, and RTPSource::registerForMultiplexedRTCPPackets().

◆ doGetNextFrame()

virtual void MultiFramedRTPSource::doGetNextFrame ( )
protectedvirtualinherited

Implements FramedSource.

◆ doStopGettingFrames()

virtual void MultiFramedRTPSource::doStopGettingFrames ( )
protectedvirtualinherited

Reimplemented from FramedSource.

◆ enableRTCPReports() [1/2]

Boolean& RTPSource::enableRTCPReports ( )
inlineinherited

Definition at line 71 of file RTPSource.hh.

71 { return fEnableRTCPReports; }
Boolean fEnableRTCPReports
Definition: RTPSource.hh:117

References RTPSource::fEnableRTCPReports.

◆ enableRTCPReports() [2/2]

Boolean const& RTPSource::enableRTCPReports ( ) const
inlineinherited

Definition at line 72 of file RTPSource.hh.

72 { return fEnableRTCPReports; }
Boolean fEnableRTCPReports
Definition: RTPSource.hh:117

References RTPSource::fEnableRTCPReports.

◆ envir()

UsageEnvironment& Medium::envir ( ) const
inlineinherited

◆ getNextFrame()

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

◆ handleClosure() [1/2]

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

◆ handleClosure() [2/2]

void FramedSource::handleClosure ( )
inherited

◆ hasBeenSynchronizedUsingRTCP()

virtual Boolean RTPSource::hasBeenSynchronizedUsingRTCP ( )
virtualinherited

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

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

◆ lastReceivedSSRC()

u_int32_t RTPSource::lastReceivedSSRC ( ) const
inlineinherited

Definition at line 68 of file RTPSource.hh.

68 { return fLastReceivedSSRC; }
u_int32_t fLastReceivedSSRC
Definition: RTPSource.hh:104

References RTPSource::fLastReceivedSSRC.

◆ lookupByName() [1/4]

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

◆ lookupByName() [2/4]

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

◆ lookupByName() [3/4]

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

◆ lookupByName() [4/4]

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

◆ maxFrameSize()

virtual unsigned FramedSource::maxFrameSize ( ) const
virtualinherited

◆ MIMEtype()

virtual char const* H265VideoRTPSource::MIMEtype ( ) const
protectedvirtual

Reimplemented from MediaSource.

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

◆ packetIsUsableInJitterCalculation()

virtual Boolean MultiFramedRTPSource::packetIsUsableInJitterCalculation ( unsigned char *  packet,
unsigned  packetSize 
)
protectedvirtualinherited

Reimplemented in MPEG1or2VideoRTPSource.

◆ processSpecialHeader()

virtual Boolean H265VideoRTPSource::processSpecialHeader ( BufferedPacket packet,
unsigned &  resultSpecialHeaderSize 
)
protectedvirtual

Reimplemented from MultiFramedRTPSource.

◆ receptionStatsDB()

RTPReceptionStatsDB& RTPSource::receptionStatsDB ( ) const
inlineinherited

Definition at line 64 of file RTPSource.hh.

64  {
65  return *fReceptionStatsDB;
66  }
RTPReceptionStatsDB * fReceptionStatsDB
Definition: RTPSource.hh:119

References RTPSource::fReceptionStatsDB.

◆ registerForMultiplexedRTCPPackets()

void RTPSource::registerForMultiplexedRTCPPackets ( class RTCPInstance rtcpInstance)
inlineinherited

Definition at line 57 of file RTPSource.hh.

57  {
59  }
class RTCPInstance * fRTCPInstanceForMultiplexedRTCPPackets
Definition: RTPSource.hh:105

References RTPSource::fRTCPInstanceForMultiplexedRTCPPackets.

Referenced by RTPSource::deregisterForMultiplexedRTCPPackets().

◆ RTPgs()

Groupsock* RTPSource::RTPgs ( ) const
inlineinherited

Definition at line 47 of file RTPSource.hh.

47 { return fRTPInterface.gs(); }
Groupsock * gs() const
Definition: RTPInterface.hh:48
RTPInterface fRTPInterface
Definition: RTPSource.hh:99

References RTPSource::fRTPInterface, and RTPInterface::gs().

◆ rtpPayloadFormat()

unsigned char RTPSource::rtpPayloadFormat ( ) const
inlineinherited

Definition at line 43 of file RTPSource.hh.

43 { return fRTPPayloadFormat; }
unsigned char fRTPPayloadFormat
Definition: RTPSource.hh:114

References RTPSource::fRTPPayloadFormat.

◆ setAuxilliaryReadHandler()

void RTPSource::setAuxilliaryReadHandler ( AuxHandlerFunc handlerFunc,
void *  handlerClientData 
)
inlineinherited

Definition at line 79 of file RTPSource.hh.

80  {
82  handlerClientData);
83  }
void setAuxilliaryReadHandler(AuxHandlerFunc *handlerFunc, void *handlerClientData)
Definition: RTPInterface.hh:76
RTPInterface fRTPInterface
Definition: RTPSource.hh:99

References RTPSource::fRTPInterface, and RTPInterface::setAuxilliaryReadHandler().

◆ setCrypto()

void RTPSource::setCrypto ( SRTPCryptographicContext crypto)
inlineinherited

Definition at line 51 of file RTPSource.hh.

51 { fCrypto = crypto; }
SRTPCryptographicContext * fCrypto
Definition: RTPSource.hh:106

References RTPSource::fCrypto.

◆ setStreamSocket()

void RTPSource::setStreamSocket ( int  sockNum,
unsigned char  streamChannelId 
)
inlineinherited

Definition at line 74 of file RTPSource.hh.

74  {
75  // hack to allow sending RTP over TCP (RFC 2236, section 10.12)
76  fRTPInterface.setStreamSocket(sockNum, streamChannelId);
77  }
void setStreamSocket(int sockNum, unsigned char streamChannelId)
RTPInterface fRTPInterface
Definition: RTPSource.hh:99

References RTPSource::fRTPInterface, and RTPInterface::setStreamSocket().

◆ SSRC()

u_int32_t RTPSource::SSRC ( ) const
inlineinherited

Definition at line 54 of file RTPSource.hh.

54 { return fSSRC; }
u_int32_t fSSRC
Definition: RTPSource.hh:116

References RTPSource::fSSRC.

◆ stopGettingFrames()

void FramedSource::stopGettingFrames ( )
inherited

◆ timestampFrequency()

unsigned RTPSource::timestampFrequency ( ) const
inlineinherited

Definition at line 62 of file RTPSource.hh.

62 {return fTimestampFrequency;}
unsigned fTimestampFrequency
Definition: RTPSource.hh:115

References RTPSource::fTimestampFrequency.

Friends And Related Function Documentation

◆ H265BufferedPacket

friend class H265BufferedPacket
friend

Definition at line 60 of file H265VideoRTPSource.hh.

Field Documentation

◆ fCrypto

SRTPCryptographicContext* RTPSource::fCrypto
protectedinherited

Definition at line 106 of file RTPSource.hh.

Referenced by RTPSource::setCrypto().

◆ fCurPacketHasBeenSynchronizedUsingRTCP

Boolean RTPSource::fCurPacketHasBeenSynchronizedUsingRTCP
protectedinherited

Definition at line 103 of file RTPSource.hh.

◆ fCurPacketMarkerBit

Boolean RTPSource::fCurPacketMarkerBit
protectedinherited

Definition at line 102 of file RTPSource.hh.

Referenced by RTPSource::curPacketMarkerBit().

◆ fCurPacketNALUnitType

unsigned char H265VideoRTPSource::fCurPacketNALUnitType
private

Definition at line 62 of file H265VideoRTPSource.hh.

◆ fCurPacketRTPSeqNum

u_int16_t RTPSource::fCurPacketRTPSeqNum
protectedinherited

Definition at line 100 of file RTPSource.hh.

Referenced by RTPSource::curPacketRTPSeqNum().

◆ fCurPacketRTPTimestamp

u_int32_t RTPSource::fCurPacketRTPTimestamp
protectedinherited

Definition at line 101 of file RTPSource.hh.

Referenced by RTPSource::curPacketRTPTimestamp().

◆ fCurrentNALUnitAbsDon

u_int64_t H265VideoRTPSource::fCurrentNALUnitAbsDon
private

Definition at line 64 of file H265VideoRTPSource.hh.

Referenced by currentNALUnitAbsDon().

◆ fCurrentPacketBeginsFrame

Boolean MultiFramedRTPSource::fCurrentPacketBeginsFrame
protectedinherited

Definition at line 51 of file MultiFramedRTPSource.hh.

◆ fCurrentPacketCompletesFrame

Boolean MultiFramedRTPSource::fCurrentPacketCompletesFrame
protectedinherited

Definition at line 52 of file MultiFramedRTPSource.hh.

◆ fDurationInMicroseconds

unsigned FramedSource::fDurationInMicroseconds
protectedinherited

◆ fExpectDONFields

Boolean H265VideoRTPSource::fExpectDONFields
private

Definition at line 61 of file H265VideoRTPSource.hh.

◆ fFrameSize

unsigned FramedSource::fFrameSize
protectedinherited

◆ fLastReceivedSSRC

u_int32_t RTPSource::fLastReceivedSSRC
protectedinherited

Definition at line 104 of file RTPSource.hh.

Referenced by RTPSource::lastReceivedSSRC().

◆ fMaxSize

unsigned FramedSource::fMaxSize
protectedinherited

◆ fNumTruncatedBytes

unsigned FramedSource::fNumTruncatedBytes
protectedinherited

◆ fPresentationTime

struct timeval FramedSource::fPresentationTime
protectedinherited

◆ fPreviousNALUnitDON

u_int16_t H265VideoRTPSource::fPreviousNALUnitDON
private

Definition at line 63 of file H265VideoRTPSource.hh.

◆ fRTCPInstanceForMultiplexedRTCPPackets

class RTCPInstance* RTPSource::fRTCPInstanceForMultiplexedRTCPPackets
protectedinherited

Definition at line 105 of file RTPSource.hh.

Referenced by RTPSource::registerForMultiplexedRTCPPackets().

◆ fRTPInterface

RTPInterface RTPSource::fRTPInterface
protectedinherited

◆ fTo

unsigned char* FramedSource::fTo
protectedinherited

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