live
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Friends
RTPSource Class Referenceabstract

#include <RTPSource.hh>

Inheritance diagram for RTPSource:
Inheritance graph
[legend]
Collaboration diagram for RTPSource:
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 curPacketMarkerBit () const
 
unsigned char rtpPayloadFormat () const
 
virtual Boolean hasBeenSynchronizedUsingRTCP ()
 
GroupsockRTPgs () const
 
virtual void setPacketReorderingThresholdTime (unsigned uSeconds)=0
 
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
 
virtual void doGetNextFrame ()=0
 
Boolean isCurrentlyAwaitingData () const
 
virtual char const * MIMEtype () 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
 

Static Public Member Functions

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

 RTPSource (UsageEnvironment &env, Groupsock *RTPgs, unsigned char rtpPayloadFormat, u_int32_t rtpTimestampFrequency)
 
virtual ~RTPSource ()
 
virtual void doStopGettingFrames ()
 
TaskTokennextTask ()
 

Protected Attributes

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

Private Member Functions

u_int32_t curPacketRTPTimestamp () const
 
virtual Boolean isRTPSource () const
 
virtual void getAttributes () const
 

Private Attributes

unsigned char fRTPPayloadFormat
 
unsigned fTimestampFrequency
 
u_int32_t fSSRC
 
Boolean fEnableRTCPReports
 
RTPReceptionStatsDBfReceptionStatsDB
 

Friends

class MediaSubsession
 

Detailed Description

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

Constructor & Destructor Documentation

RTPSource::RTPSource ( UsageEnvironment env,
Groupsock RTPgs,
unsigned char  rtpPayloadFormat,
u_int32_t  rtpTimestampFrequency 
)
protected
virtual RTPSource::~RTPSource ( )
protectedvirtual

Member Function Documentation

static void FramedSource::afterGetting ( FramedSource source)
staticinherited
static void Medium::close ( UsageEnvironment env,
char const *  mediumName 
)
staticinherited
static void Medium::close ( Medium medium)
staticinherited
Boolean RTPSource::curPacketMarkerBit ( ) const
inline

Definition at line 38 of file RTPSource.hh.

References fCurPacketMarkerBit.

38 { return fCurPacketMarkerBit; }
Boolean fCurPacketMarkerBit
Definition: RTPSource.hh:97
u_int16_t RTPSource::curPacketRTPSeqNum ( ) const
inline

Definition at line 83 of file RTPSource.hh.

References fCurPacketRTPSeqNum.

83 { return fCurPacketRTPSeqNum; }
u_int16_t fCurPacketRTPSeqNum
Definition: RTPSource.hh:95
u_int32_t RTPSource::curPacketRTPTimestamp ( ) const
inlineprivate

Definition at line 85 of file RTPSource.hh.

References fCurPacketRTPTimestamp.

85 { return fCurPacketRTPTimestamp; }
u_int32_t fCurPacketRTPTimestamp
Definition: RTPSource.hh:96
void RTPSource::deregisterForMultiplexedRTCPPackets ( )
inline

Definition at line 55 of file RTPSource.hh.

References NULL, and registerForMultiplexedRTCPPackets().

#define NULL
void registerForMultiplexedRTCPPackets(class RTCPInstance *rtcpInstance)
Definition: RTPSource.hh:52
virtual void FramedSource::doGetNextFrame ( )
pure virtualinherited
virtual void FramedSource::doStopGettingFrames ( )
protectedvirtualinherited
Boolean& RTPSource::enableRTCPReports ( )
inline

Definition at line 66 of file RTPSource.hh.

References fEnableRTCPReports.

66 { return fEnableRTCPReports; }
Boolean fEnableRTCPReports
Definition: RTPSource.hh:111
Boolean const& RTPSource::enableRTCPReports ( ) const
inline

Definition at line 67 of file RTPSource.hh.

References fEnableRTCPReports.

67 { return fEnableRTCPReports; }
Boolean fEnableRTCPReports
Definition: RTPSource.hh:111
UsageEnvironment& Medium::envir ( ) const
inlineinherited
virtual void RTPSource::getAttributes ( ) const
privatevirtual

Reimplemented from MediaSource.

void FramedSource::getNextFrame ( unsigned char *  to,
unsigned  maxSize,
afterGettingFunc afterGettingFunc,
void *  afterGettingClientData,
onCloseFunc onCloseFunc,
void *  onCloseClientData 
)
inherited
static void FramedSource::handleClosure ( void *  clientData)
staticinherited
void FramedSource::handleClosure ( )
inherited
virtual Boolean RTPSource::hasBeenSynchronizedUsingRTCP ( )
virtual
virtual Boolean MediaSource::isAMRAudioSource ( ) const
virtualinherited

Reimplemented in AMRAudioSource.

Boolean FramedSource::isCurrentlyAwaitingData ( ) const
inlineinherited

Definition at line 61 of file FramedSource.hh.

References FramedSource::fIsCurrentlyAwaitingData.

Boolean fIsCurrentlyAwaitingData
Definition: FramedSource.hh:92
virtual Boolean MediaSource::isDVVideoStreamFramer ( ) const
virtualinherited

Reimplemented in DVVideoStreamFramer.

virtual Boolean MediaSource::isH264VideoStreamFramer ( ) const
virtualinherited
virtual Boolean MediaSource::isH265VideoStreamFramer ( ) const
virtualinherited
virtual Boolean MediaSource::isJPEGVideoSource ( ) const
virtualinherited

Reimplemented in JPEGVideoSource.

virtual Boolean Medium::isMediaSession ( ) const
virtualinherited

Reimplemented in MediaSession.

virtual Boolean MediaSource::isMPEG1or2VideoStreamFramer ( ) const
virtualinherited

Reimplemented in MPEG1or2VideoStreamFramer.

virtual Boolean MediaSource::isMPEG4VideoStreamFramer ( ) const
virtualinherited

Reimplemented in MPEG4VideoStreamFramer.

virtual Boolean Medium::isRTCPInstance ( ) const
virtualinherited

Reimplemented in RTCPInstance.

virtual Boolean RTPSource::isRTPSource ( ) const
privatevirtual

Reimplemented from MediaSource.

virtual Boolean Medium::isRTSPClient ( ) const
virtualinherited

Reimplemented in RTSPClient.

virtual Boolean Medium::isRTSPServer ( ) const
virtualinherited

Reimplemented in RTSPServer.

virtual Boolean Medium::isServerMediaSession ( ) const
virtualinherited

Reimplemented in ServerMediaSession.

virtual Boolean Medium::isSink ( ) const
virtualinherited

Reimplemented in MediaSink.

u_int32_t RTPSource::lastReceivedSSRC ( ) const
inline

Definition at line 63 of file RTPSource.hh.

References fLastReceivedSSRC.

63 { return fLastReceivedSSRC; }
u_int32_t fLastReceivedSSRC
Definition: RTPSource.hh:99
static Boolean MediaSource::lookupByName ( UsageEnvironment env,
char const *  sourceName,
MediaSource *&  resultSource 
)
staticinherited
static Boolean FramedSource::lookupByName ( UsageEnvironment env,
char const *  sourceName,
FramedSource *&  resultSource 
)
staticinherited
static Boolean RTPSource::lookupByName ( UsageEnvironment env,
char const *  sourceName,
RTPSource *&  resultSource 
)
static
static Boolean Medium::lookupByName ( UsageEnvironment env,
char const *  mediumName,
Medium *&  resultMedium 
)
staticinherited
virtual unsigned FramedSource::maxFrameSize ( ) const
virtualinherited
virtual char const* MediaSource::MIMEtype ( ) const
virtualinherited
char const* Medium::name ( ) const
inlineinherited

Definition at line 61 of file Media.hh.

References Medium::fMediumName.

61 {return fMediumName;}
char fMediumName[mediumNameMaxLen]
Definition: Media.hh:83
TaskToken& Medium::nextTask ( )
inlineprotectedinherited

Definition at line 77 of file Media.hh.

References Medium::fNextTask.

77  {
78  return fNextTask;
79  }
TaskToken fNextTask
Definition: Media.hh:84
RTPReceptionStatsDB& RTPSource::receptionStatsDB ( ) const
inline

Definition at line 59 of file RTPSource.hh.

References fReceptionStatsDB.

59  {
60  return *fReceptionStatsDB;
61  }
RTPReceptionStatsDB * fReceptionStatsDB
Definition: RTPSource.hh:113
void RTPSource::registerForMultiplexedRTCPPackets ( class RTCPInstance rtcpInstance)
inline

Definition at line 52 of file RTPSource.hh.

References fRTCPInstanceForMultiplexedRTCPPackets.

Referenced by deregisterForMultiplexedRTCPPackets().

52  {
54  }
class RTCPInstance * fRTCPInstanceForMultiplexedRTCPPackets
Definition: RTPSource.hh:100
Groupsock* RTPSource::RTPgs ( ) const
inline

Definition at line 44 of file RTPSource.hh.

References fRTPInterface, and RTPInterface::gs().

44 { return fRTPInterface.gs(); }
Groupsock * gs() const
Definition: RTPInterface.hh:60
RTPInterface fRTPInterface
Definition: RTPSource.hh:94
unsigned char RTPSource::rtpPayloadFormat ( ) const
inline

Definition at line 40 of file RTPSource.hh.

References fRTPPayloadFormat.

40 { return fRTPPayloadFormat; }
unsigned char fRTPPayloadFormat
Definition: RTPSource.hh:108
void RTPSource::setAuxilliaryReadHandler ( AuxHandlerFunc handlerFunc,
void *  handlerClientData 
)
inline

Definition at line 74 of file RTPSource.hh.

References fRTPInterface, and RTPInterface::setAuxilliaryReadHandler().

75  {
77  handlerClientData);
78  }
void setAuxilliaryReadHandler(AuxHandlerFunc *handlerFunc, void *handlerClientData)
Definition: RTPInterface.hh:88
RTPInterface fRTPInterface
Definition: RTPSource.hh:94
virtual void RTPSource::setPacketReorderingThresholdTime ( unsigned  uSeconds)
pure virtual

Implemented in MultiFramedRTPSource.

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

Definition at line 69 of file RTPSource.hh.

References fRTPInterface, and RTPInterface::setStreamSocket().

69  {
70  // hack to allow sending RTP over TCP (RFC 2236, section 10.12)
71  fRTPInterface.setStreamSocket(sockNum, streamChannelId);
72  }
void setStreamSocket(int sockNum, unsigned char streamChannelId)
RTPInterface fRTPInterface
Definition: RTPSource.hh:94
u_int32_t RTPSource::SSRC ( ) const
inline

Definition at line 49 of file RTPSource.hh.

References fSSRC.

49 { return fSSRC; }
u_int32_t fSSRC
Definition: RTPSource.hh:110
void FramedSource::stopGettingFrames ( )
inherited
unsigned RTPSource::timestampFrequency ( ) const
inline

Definition at line 57 of file RTPSource.hh.

References fTimestampFrequency.

57 {return fTimestampFrequency;}
unsigned fTimestampFrequency
Definition: RTPSource.hh:109

Friends And Related Function Documentation

friend class MediaSubsession
friend

Definition at line 84 of file RTPSource.hh.

Field Documentation

Boolean RTPSource::fCurPacketHasBeenSynchronizedUsingRTCP
protected

Definition at line 98 of file RTPSource.hh.

Boolean RTPSource::fCurPacketMarkerBit
protected

Definition at line 97 of file RTPSource.hh.

Referenced by curPacketMarkerBit().

u_int16_t RTPSource::fCurPacketRTPSeqNum
protected

Definition at line 95 of file RTPSource.hh.

Referenced by curPacketRTPSeqNum().

u_int32_t RTPSource::fCurPacketRTPTimestamp
protected

Definition at line 96 of file RTPSource.hh.

Referenced by curPacketRTPTimestamp().

unsigned FramedSource::fDurationInMicroseconds
protectedinherited
Boolean RTPSource::fEnableRTCPReports
private

Definition at line 111 of file RTPSource.hh.

Referenced by enableRTCPReports().

unsigned FramedSource::fFrameSize
protectedinherited

Definition at line 77 of file FramedSource.hh.

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

u_int32_t RTPSource::fLastReceivedSSRC
protected

Definition at line 99 of file RTPSource.hh.

Referenced by lastReceivedSSRC().

unsigned FramedSource::fMaxSize
protectedinherited

Definition at line 76 of file FramedSource.hh.

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

unsigned FramedSource::fNumTruncatedBytes
protectedinherited
struct timeval FramedSource::fPresentationTime
protectedinherited
RTPReceptionStatsDB* RTPSource::fReceptionStatsDB
private

Definition at line 113 of file RTPSource.hh.

Referenced by receptionStatsDB().

class RTCPInstance* RTPSource::fRTCPInstanceForMultiplexedRTCPPackets
protected

Definition at line 100 of file RTPSource.hh.

Referenced by registerForMultiplexedRTCPPackets().

RTPInterface RTPSource::fRTPInterface
protected

Definition at line 94 of file RTPSource.hh.

Referenced by RTPgs(), setAuxilliaryReadHandler(), and setStreamSocket().

unsigned char RTPSource::fRTPPayloadFormat
private

Definition at line 108 of file RTPSource.hh.

Referenced by rtpPayloadFormat().

u_int32_t RTPSource::fSSRC
private

Definition at line 110 of file RTPSource.hh.

Referenced by SSRC().

unsigned RTPSource::fTimestampFrequency
private

Definition at line 109 of file RTPSource.hh.

Referenced by timestampFrequency().

unsigned char* FramedSource::fTo
protectedinherited

Definition at line 75 of file FramedSource.hh.

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


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