The RTCP_Channel_In class represents a single incoming data channel, or stream. The class has several responsibilities. When the class is instantiated, the incoming RTP traffic must be declared a valid source based on the RTP packets received. Once declared valie, this class is responsible for keeping up with reception statistics and other information. When an SR or RR is created (outside of this class), this class is used to get the Receiver Report block for this particular stream.
More...
#include <RTCP_Channel.h>
The RTCP_Channel_In class represents a single incoming data channel, or stream. The class has several responsibilities. When the class is instantiated, the incoming RTP traffic must be declared a valid source based on the RTP packets received. Once declared valie, this class is responsible for keeping up with reception statistics and other information. When an SR or RR is created (outside of this class), this class is used to get the Receiver Report block for this particular stream.
◆ RTCP_Channel_In() [1/3]
Constructor for an incoming channel. Requires the synchronization source id and address of the sender.
◆ ~RTCP_Channel_In()
RTCP_Channel_In::~RTCP_Channel_In |
( |
| ) |
|
◆ RTCP_Channel_In() [2/3]
RTCP_Channel_In::RTCP_Channel_In |
( |
| ) |
|
|
private |
Don't want default constructor.
◆ RTCP_Channel_In() [3/3]
Don't want copy constructor.
◆ active()
int RTCP_Channel_In::active |
( |
| ) |
|
|
inline |
Returns 1 if this is an active source, 0 if not.
◆ dlsr()
Returns the delay since last sender report.
◆ getRRBlock()
RR_Block * RTCP_Channel_In::getRRBlock |
( |
| ) |
|
Takes statistics of incoming RTP traffic and creates a receiver report block.
◆ init_seq()
This is called when the first RTP packet is received.
◆ lsr()
Returns the last sender report timestamp.
◆ recv_rtp_packet()
This operation takes the incoming ACE_Message_Block, converts it to an RTP_Packet and calls updateStatistics. It also uses compares the peer_addr to the stored peer_address_ to check for loops.
◆ sender()
int RTCP_Channel_In::sender |
( |
| ) |
|
|
inline |
Returns 1 if data has been sent since the last report, 0 if not.
◆ update_seq()
This is called when each RTP packet is received. It is used to declare a source as valid.
◆ updateStatistics() [1/3]
Updates channel information with incoming receiver report.
◆ updateStatistics() [2/3]
Updates channel information with incoming sender report.
◆ updateStatistics() [3/3]
void RTCP_Channel_In::updateStatistics |
( |
RTP_Packet * | pkt | ) |
|
|
private |
This operation is used update statistics for the incoming RTP packet.
◆ active_
int RTCP_Channel_In::active_ |
|
private |
Flag to indicate whether or not the source is active.
◆ bad_seq_
last 'bad' sequence number + 1
◆ base_seq_
The first sequence number received.
◆ cname_
The canonical name of the source this channel represents.
◆ cycles_
The shifted count of sequence number cycles (ie when sequence number wraps)
◆ data_since_last_report_
char RTCP_Channel_In::data_since_last_report_ |
|
private |
This flag indicates that data has been received since the last report was sent.
◆ expected_prior_
The packet expected at last interval.
◆ first_data_packet_
char RTCP_Channel_In::first_data_packet_ |
|
private |
Flag to indicate the first data packet received.
◆ init_local_time_
The local time that the initial packet was received.
◆ init_time_stamp_
The first timestamp received.
◆ jitter_
double RTCP_Channel_In::jitter_ |
|
private |
The inter-arrival jitter measured in timestamp units.
◆ last_sr_time_
The last time a sender report was received in 1/65536 seconds. Used to calculate DLSR.
◆ max_seq_
The highest sequence number seen.
◆ no_data_counter_
int RTCP_Channel_In::no_data_counter_ |
|
private |
This is a counter to indicate the number of reporting intervals that have passed since data has been received. After 32, declare the source inactive.
◆ ntp_ts_lsw_
The least significant word of the last sender report NTP timestamp.
◆ ntp_ts_msw_
The most significant word of the last sender report NTP timestamp.
◆ payload_type_
int RTCP_Channel_In::payload_type_ |
|
private |
◆ peer_address_
ACE_Addr* RTCP_Channel_In::peer_address_ |
|
private |
The address that the first RTP packet was received from.
◆ probation_
The number of in sequence packets until a source is declared valid.
◆ received_
The number of packets received.
◆ received_prior_
The packet received at last interval.
◆ remote_ssrc_
The synchronization source id of the source this channel represents.
◆ rtp_ts_
The last sender report RTP timestamp.
◆ transit_
The documentation for this class was generated from the following files: