INET Framework for OMNeT++/OMNEST
|
This class, a subclass of RTPParticipantInfo, is used for storing information about other RTP endsystems. More...
#include <RTPReceiverInfo.h>
Public Types | |
enum | { MAX_INACTIVE_INTERVALS = 5 } |
Public Member Functions | |
RTPReceiverInfo (uint32 ssrc=0) | |
Default constructor. More... | |
RTPReceiverInfo (const RTPReceiverInfo &receiverInfo) | |
Copy constructor. More... | |
virtual | ~RTPReceiverInfo () |
Destructor. More... | |
RTPReceiverInfo & | operator= (const RTPReceiverInfo &receiverInfo) |
Assignment operator. More... | |
virtual RTPReceiverInfo * | dup () const override |
Duplicates this RTPReceiverInfo by calling the copy constructor. More... | |
virtual void | processRTPPacket (RTPPacket *packet, int id, simtime_t arrivalTime) override |
Extracts information of the given RTPPacket. More... | |
virtual void | processSenderReport (SenderReport *report, simtime_t arrivalTime) |
Extracts information of the given SenderReport. More... | |
virtual void | processSDESChunk (SDESChunk *sdesChunk, simtime_t arrivalTime) override |
Extracts information of the given SDESChunk. More... | |
virtual ReceptionReport * | receptionReport (simtime_t now) override |
Returns a ReceptionReport if this RTP end system is a sender, nullptr otherwise. More... | |
virtual void | nextInterval (simtime_t now) override |
Informs this RTPReceiverInfo that one rtcp interval has past. More... | |
virtual bool | isActive () |
Returns true if this RTP end system is regarded active. More... | |
virtual bool | isValid () |
Returns true if this RTP end system is regarded valid. More... | |
virtual bool | toBeDeleted (simtime_t now) override |
Returns true if this RTP end system should be deleted from the list of known RTP session participant. More... | |
Public Member Functions inherited from inet::rtp::RTPParticipantInfo | |
RTPParticipantInfo (uint32 ssrc=0) | |
Default constructor. More... | |
RTPParticipantInfo (const RTPParticipantInfo &participantInfo) | |
Copy constructor. More... | |
virtual | ~RTPParticipantInfo () |
Destructor. More... | |
RTPParticipantInfo & | operator= (const RTPParticipantInfo &participantInfo) |
Assignment operator. More... | |
virtual void | processSenderReport (SenderReport &report, simtime_t arrivalTime) |
This method extracts information about an RTP endsystem as provided by the given SenderReport. More... | |
virtual void | processReceptionReport (ReceptionReport &report, simtime_t arrivalTime) |
This method extracts information of the given ReceptionReport. More... | |
virtual SDESChunk * | getSDESChunk () const |
Returns a copy of the sdes chunk used for storing source description items about this system. More... | |
virtual void | addSDESItem (SDESItem *sdesItem) |
Adds this sdes item to the sdes chunk of this participant. More... | |
virtual SenderReport * | senderReport (simtime_t now) |
This method is intended to be overwritten by subclasses which are used for storing information about itself. More... | |
virtual bool | isSender () const |
Returns true if this endsystem has sent at least one RTP data packet during the last two rtcp intervals (including the current one). More... | |
virtual uint32 | getSsrc () const override |
Returns the ssrc identifier of the RTP endsystem. More... | |
virtual void | setSsrc (uint32 ssrc) override |
Sets the ssrc identifier. More... | |
virtual void | addSDESItem (SDESItem::SDES_ITEM_TYPE type, const char *content) |
Creates a new SDESItem and adds it to the SDESChunk stored in this RTPParticipantInfo. More... | |
virtual void | parsimPack (cCommBuffer *b) const override |
virtual void | parsimUnpack (cCommBuffer *b) override |
Public Member Functions inherited from inet::rtp::RTPParticipantInfo_Base | |
virtual | ~RTPParticipantInfo_Base () |
virtual void | parsimPack (omnetpp::cCommBuffer *b) const override |
virtual void | parsimUnpack (omnetpp::cCommBuffer *b) override |
virtual IPv4Address & | getAddress () |
virtual const IPv4Address & | getAddress () const |
virtual void | setAddress (const IPv4Address &address) |
virtual int | getRTPPort () const |
virtual void | setRTPPort (int RTPPort) |
virtual int | getRTCPPort () const |
virtual void | setRTCPPort (int RTCPPort) |
Protected Attributes | |
uint16 | _sequenceNumberBase = 0 |
The sequence number of the first RTPPacket received. More... | |
uint16 | _highestSequenceNumber = 0 |
The highest sequence number of an RTPPacket received. More... | |
uint32 | _highestSequenceNumberPrior = 0 |
The highest sequence number of an RTPPacket received before the beginning of the current rtcp interval. More... | |
uint32 | _sequenceNumberCycles = 0 |
The number of sequence number wrap arounds. More... | |
uint32 | _packetsReceived = 0 |
How many RTP packets from this source have been received. More... | |
uint32 | _packetsReceivedPrior = 0 |
How many RTP packets have been received from this source before the current rtcp interval began. More... | |
simtime_t | _jitter |
The interarrival jitter. More... | |
int | _clockRate = 0 |
The output vector for jitter value. More... | |
uint32 | _lastSenderReportRTPTimeStamp = 0 |
The RTP time stamp of the last SenderReport received from this sender. More... | |
uint64 | _lastSenderReportNTPTimeStamp = 0 |
The ntp time stamp of the last SenderReport received from this sender. More... | |
uint32 | _lastPacketRTPTimeStamp = 0 |
The RTP time stamp of the last RTPPacket received from this sender. More... | |
simtime_t | _lastPacketArrivalTime |
The arrival time of the last RTPPacket received from this sender. More... | |
simtime_t | _lastSenderReportArrivalTime |
The arrival time of the last SenderReport received from this sender. More... | |
int | _inactiveIntervals = 0 |
The consecutive number of rtcp intervals this rtcp end system hasn't sent anything. More... | |
simtime_t | _startOfInactivity = 0.0 |
The time when this RTP end system has been inactive for five consecutive rtcp intervals. More... | |
int | _itemsReceived = 0 |
The number of RTP and rtcp packets received from this RTP end system. More... | |
Protected Attributes inherited from inet::rtp::RTPParticipantInfo | |
SDESChunk | _sdesChunk |
Used for storing sdes information about this RTP endsystem. More... | |
int | _silentIntervals |
Stores the number of rtcp intervals (including the current one) during which this RTP endsystem hasn't sent any RTP data packets. More... | |
Protected Attributes inherited from inet::rtp::RTPParticipantInfo_Base | |
IPv4Address | address |
int | RTPPort |
int | RTCPPort |
Private Member Functions | |
void | copy (const RTPReceiverInfo &other) |
Additional Inherited Members | |
Static Public Member Functions inherited from inet::rtp::RTPParticipantInfo | |
static std::string | ssrcToName (uint32 ssrc) |
This method returns the given 32 bit ssrc identifier as an 8 character hexadecimal number which is used as name of an RTPParticipantInfo object. More... | |
Protected Member Functions inherited from inet::rtp::RTPParticipantInfo_Base | |
bool | operator== (const RTPParticipantInfo_Base &) |
RTPParticipantInfo_Base (const char *name=nullptr) | |
RTPParticipantInfo_Base (const RTPParticipantInfo_Base &other) | |
RTPParticipantInfo_Base & | operator= (const RTPParticipantInfo_Base &other) |
This class, a subclass of RTPParticipantInfo, is used for storing information about other RTP endsystems.
This class processes RTP packets, rtcp sender reports and rtcp sdes chunks originating from this endsystem.
inet::rtp::RTPReceiverInfo::RTPReceiverInfo | ( | uint32 | ssrc = 0 | ) |
Default constructor.
Referenced by dup().
inet::rtp::RTPReceiverInfo::RTPReceiverInfo | ( | const RTPReceiverInfo & | receiverInfo | ) |
Copy constructor.
|
private |
Referenced by operator=(), and RTPReceiverInfo().
|
overridevirtual |
Duplicates this RTPReceiverInfo by calling the copy constructor.
Reimplemented from inet::rtp::RTPParticipantInfo.
|
virtual |
Returns true if this RTP end system is regarded active.
Referenced by toBeDeleted().
|
virtual |
Returns true if this RTP end system is regarded valid.
Referenced by toBeDeleted().
|
overridevirtual |
Informs this RTPReceiverInfo that one rtcp interval has past.
Reimplemented from inet::rtp::RTPParticipantInfo.
RTPReceiverInfo & inet::rtp::RTPReceiverInfo::operator= | ( | const RTPReceiverInfo & | receiverInfo | ) |
Assignment operator.
|
overridevirtual |
Extracts information of the given RTPPacket.
Also sets _inactiveIntervals to 0.
Reimplemented from inet::rtp::RTPParticipantInfo.
|
overridevirtual |
Extracts information of the given SDESChunk.
Reimplemented from inet::rtp::RTPParticipantInfo.
|
virtual |
Extracts information of the given SenderReport.
|
overridevirtual |
Returns a ReceptionReport if this RTP end system is a sender, nullptr otherwise.
Reimplemented from inet::rtp::RTPParticipantInfo.
|
overridevirtual |
Returns true if this RTP end system should be deleted from the list of known RTP session participant.
This method should be called directly after nextInterval().
Reimplemented from inet::rtp::RTPParticipantInfo.
|
protected |
The output vector for jitter value.
The output vector for packet lost The clock rate (in ticks per second) the sender increases the RTP timestamps. It is calculated when two sender reports have been received.
Referenced by copy(), processRTPPacket(), and processSenderReport().
|
protected |
The highest sequence number of an RTPPacket received.
Referenced by copy(), nextInterval(), processRTPPacket(), and receptionReport().
|
protected |
The highest sequence number of an RTPPacket received before the beginning of the current rtcp interval.
Referenced by copy(), nextInterval(), and receptionReport().
|
protected |
The consecutive number of rtcp intervals this rtcp end system hasn't sent anything.
Referenced by copy(), isActive(), nextInterval(), processRTPPacket(), processSDESChunk(), and processSenderReport().
|
protected |
The number of RTP and rtcp packets received from this RTP end system.
Referenced by copy(), isValid(), processRTPPacket(), processSDESChunk(), and processSenderReport().
|
protected |
The interarrival jitter.
See RTP rfc for details.
Referenced by copy(), processRTPPacket(), and receptionReport().
|
protected |
The arrival time of the last RTPPacket received from this sender.
Needed for calculating the jitter.
Referenced by copy(), and processRTPPacket().
|
protected |
The RTP time stamp of the last RTPPacket received from this sender.
Needed for calculating the jitter.
Referenced by copy(), and processRTPPacket().
|
protected |
The arrival time of the last SenderReport received from this sender.
Referenced by copy(), processSenderReport(), and receptionReport().
|
protected |
The ntp time stamp of the last SenderReport received from this sender.
Referenced by copy(), processSenderReport(), and receptionReport().
|
protected |
The RTP time stamp of the last SenderReport received from this sender.
Referenced by copy(), and processSenderReport().
|
protected |
How many RTP packets from this source have been received.
Referenced by copy(), nextInterval(), processRTPPacket(), and receptionReport().
|
protected |
How many RTP packets have been received from this source before the current rtcp interval began.
Referenced by copy(), nextInterval(), and receptionReport().
|
protected |
The sequence number of the first RTPPacket received.
Referenced by copy(), processRTPPacket(), and receptionReport().
|
protected |
The number of sequence number wrap arounds.
Referenced by copy(), nextInterval(), processRTPPacket(), and receptionReport().
|
protected |
The time when this RTP end system has been inactive for five consecutive rtcp intervals.
Referenced by copy(), nextInterval(), and toBeDeleted().