Skip to main content

Module rtcp

Module rtcp 

Source
Expand description

RTCP sender and receiver reports (RFC 3550 §6.4).

RTP carries the media; RTCP carries what happened to it. Without reports a stack cannot say why a call sounded bad, and cannot answer a peer that asks.

The field that repays attention is interarrival jitter. It is not a variance and not a standard deviation — it is the smoothed mean deviation of packet spacing, updated per packet by the RFC’s own recurrence:

J += (|D(i-1, i)| - J) / 16

An implementation that computes a variance instead produces numbers that look plausible, move in the right direction, and are wrong by a factor that depends on the traffic — which is worse than reporting nothing, because someone will tune a jitter buffer with them.

Structs§

ReceiverReport
A receiver report: what we have received, from a participant that sends nothing.
ReportBlock
One report block: what one source’s stream looked like from here.
Sdes
A source description packet.
SdesChunk
What one source says about itself.
SdesItem
One source description item.
SenderReport
A sender report: what we have sent, plus what we have received from others.
StreamStats
Tracks what a stream looked like from here, so a report can be produced.

Enums§

Rtcp
An RTCP packet.
RtcpError
What can go wrong reading RTCP.

Constants§

GOODBYE
Goodbye.
RECEIVER_REPORT
A receiver report.
SDES_CNAME
The SDES item type of a canonical name (RFC 3550 §6.5.1).
SENDER_REPORT
RTCP packet types (RFC 3550 §12.1).
SOURCE_DESCRIPTION
A source description.