RTCP Packets Handling
[RTCP Layer]

Collaboration diagram for RTCP Packets Handling:

Functions

int rtcp_parse_pkt (rtp_ssrc *ssrc, rtcp_pkt *pkt, int len)
int rtcp_parse_sr (rtp_ssrc *ssrc, rtcp_pkt *pkt)
int rtcp_parse_sdes (rtp_ssrc *ssrc, rtcp_pkt *pkt)
int rtcp_parse_rr (rtcp_pkt *pkt)
int rtcp_parse_bye (rtp_ssrc *ssrc, rtcp_pkt *pkt)
int rtcp_parse_app (rtcp_pkt *pkt)
int rtcp_send_rr (rtp_session *sess)
int rtcp_build_rr (rtp_session *sess, rtcp_pkt *pkt)
int rtcp_build_sdes (rtp_session *sess, rtcp_pkt *pkt, int left)
int rtcp_send_bye (rtp_session *sess)

Detailed Description

RTCP Packets Handling

Function Documentation

int rtcp_build_rr ( rtp_session *  rtp_sess,
rtcp_pkt *  pkt 
)

Builds the Receiver Report packet

Parameters:
rtp_sess The session for which to build the report
pkt The packet where to write the report
Returns:
The Length of the generated report (number of 32bit words)

Definition at line 38 of file rtcp_report.c.

References nms_timeval_subtract().

Referenced by rtcp_send_rr().

Here is the call graph for this function:

int rtcp_build_sdes ( rtp_session *  rtp_sess,
rtcp_pkt *  pkt,
int  left 
)

Build the Source Description packet

Parameters:
rtp_sess The RTP Session for which to build the SDES
pkt The packet where to write the SDES
left Free space on the packet where the SDES will be written
Returns:
Length of the built source description (number of 32bit words)

Definition at line 123 of file rtcp_sdes.c.

Referenced by rtcp_send_rr().

int rtcp_parse_app ( rtcp_pkt *  pkt  ) 

Parse application packet

Parameters:
pkt The packet itself
Returns:
0

Definition at line 35 of file rtcp_app.c.

Referenced by rtcp_parse_pkt().

int rtcp_parse_bye ( rtp_ssrc *  ssrc,
rtcp_pkt *  pkt 
)

BYE packet handler, when rtcp layer gets a bye packet it signals it to the rtp layer reporting the end of stream.

Parameters:
ssrc The SSRC for which the packet was received
pkt The packet itself
Returns:
0

Definition at line 40 of file rtcp_bye.c.

References rtsp_thread::rtp_th.

Referenced by rtcp_parse_pkt().

int rtcp_parse_pkt ( rtp_ssrc *  stm_src,
rtcp_pkt *  pkt,
int  len 
)

Parses a given packet and calls the correct handling function

Parameters:
stm_src The SSRC for which the packet has arrived
pkt The Received packet
len The length of the packet
Returns:
0 or 1 if the packet if of an unknown type

Definition at line 187 of file rtcp_recv.c.

References rtcp_parse_app(), rtcp_parse_bye(), rtcp_parse_rr(), rtcp_parse_sdes(), and rtcp_parse_sr().

Referenced by rtcp_recv().

Here is the call graph for this function:

int rtcp_parse_rr ( rtcp_pkt *  pkt  ) 

Receiver Report packet handling, actually does nothing

Definition at line 177 of file rtcp_report.c.

Referenced by rtcp_parse_pkt().

int rtcp_parse_sdes ( rtp_ssrc *  stm_src,
rtcp_pkt *  pkt 
)

Parse an incoming RTCP Packet with source description

Parameters:
stm_src The SSRC from which we received the packet
pkt The packet itself
Returns:
0

Definition at line 78 of file rtcp_sdes.c.

References rtcp_set_ssrc_sdes().

Referenced by rtcp_parse_pkt().

Here is the call graph for this function:

int rtcp_parse_sr ( rtp_ssrc *  stm_src,
rtcp_pkt *  pkt 
)

Sender Report packet handling. Sets the NTP timestamp in the the ssrc_stats of the given RTP_SSRC.

Parameters:
stm_src The SSRC for which the packet was received
pkt The packet itself
Returns:
0

Definition at line 191 of file rtcp_report.c.

Referenced by rtcp_parse_pkt().

int rtcp_send_bye ( rtp_session *  rtp_sess  ) 

Sends the Bye packet. Actually it does nothing

Parameters:
rtp_sess The session for which to send the bye packet
Returns:
0

Definition at line 58 of file rtcp_bye.c.

Referenced by rtcp_handle_event().

int rtcp_send_rr ( rtp_session *  rtp_sess  ) 

Actually sends the Receiver Report for the given session

Parameters:
rtp_sess The Session for which to generate and send the report packet

Definition at line 128 of file rtcp_report.c.

References rtcp_build_rr(), and rtcp_build_sdes().

Referenced by rtcp_handle_event().

Here is the call graph for this function:


Generated on Tue Feb 3 03:10:03 2009 for libnemesi by  doxygen 1.5.4