56 const uint8_t *data,
size_t len)
168 switch (msg->
hdr.
pt) {
181 rr->
ssrc, rr->fraction, rr->lost,
192 rr->
ssrc, rr->fraction, rr->lost,
210 (
size_t)
item->length);
228 msg->
r.app.name,
sizeof(msg->
r.app.name),
229 msg->
r.app.data_len);
238 msg->
r.nack.
ssrc, msg->
r.nack.fsn,
244 msg->
r.fb.ssrc_packet,
245 msg->
r.fb.ssrc_media,
249 for (
i=0;
i<msg->
r.fb.n;
i++) {
251 msg->
r.fb.fci.gnackv[
i].pid,
252 msg->
r.fb.fci.gnackv[
i].blp);
259 msg->
r.fb.ssrc_packet,
260 msg->
r.fb.ssrc_media,
264 for (
i=0;
i<msg->
r.fb.n;
i++) {
266 msg->
r.fb.fci.sliv[
i].first,
267 msg->
r.fb.fci.sliv[
i].number,
268 msg->
r.fb.fci.sliv[
i].picid);
Interface to Real-time Transport Protocol and RTCP.
@ RTCP_RTPFB_GNACK
Generic NACK.
rtcp_sdes_type
SDES Types.
@ RTCP_SDES_NOTE
Notice about the source
@ RTCP_SDES_CNAME
Canonical name
@ RTCP_SDES_PHONE
User's phone number
@ RTCP_SDES_TOOL
Name of application or tool
@ RTCP_SDES_LOC
Geographic user location
@ RTCP_SDES_EMAIL
User's electronic mail address.
@ RTCP_SDES_END
End of SDES list
@ RTCP_SDES_NAME
User name
@ RTCP_SDES_PRIV
Private extension
rtcp_type
RTCP Packet Types.
@ RTCP_APP
Application-defined
@ RTCP_RTPFB
Transport layer FB message (RFC 4585)
@ RTCP_XR
Extended Report (RFC 3611)
@ RTCP_PSFB
Payload-specific FB message (RFC 4585)
@ RTCP_SDES
Source Description
@ RTCP_FIR
Full INTRA-frame Request (RFC 2032)
@ RTCP_NACK
Negative Acknowledgement (RFC 2032)
@ RTCP_AVB
AVB RTCP Packet (IEEE1733)
void * rtp_sock(const struct rtp_sock *rs)
@ RTCP_PSFB_AFB
Application layer Feedback Messages.
@ RTCP_PSFB_PLI
Picture Loss Indication (PLI)
@ RTCP_PSFB_SLI
Slice Loss Indication (SLI)
uint32_t rtp_sess_ssrc(const struct rtp_sock *rs)
int rtcp_send_app(struct rtp_sock *rs, const char name[4], const uint8_t *data, size_t len)
Send an RTCP Application-Defined (APP) packet.
int rtcp_send_pli(struct rtp_sock *rs, uint32_t fb_ssrc)
Send an RTCP Picture Loss Indication (PLI) packet.
static int rtcp_quick_send(struct rtp_sock *rs, enum rtcp_type type, uint32_t count,...)
int rtcp_msg_print(struct re_printf *pf, const struct rtcp_msg *msg)
Print an RTCP Message.
int rtcp_send_nack(struct rtp_sock *rs, uint16_t fsn, uint16_t blp)
Send an RTCP NACK packet.
const char * rtcp_type_name(enum rtcp_type type)
int rtcp_send_fir(struct rtp_sock *rs, uint32_t ssrc)
Send a Full INTRA-frame Request (FIR) packet.
const char * rtcp_sdes_name(enum rtcp_sdes_type sdes)
unsigned int p
Padding flag
unsigned int pt
RTCP packet type
unsigned int count
Varies by packet type
uint16_t length
Packet length in words.
uint32_t ntp_sec
NTP timestamp - seconds
uint32_t osent
RTP octets sent
struct rtcp_msg::rtcp_hdr hdr
struct rtcp_msg::@11::@12 sr
Sender report (SR)
uint32_t ssrc
Sender generating report
struct rtcp_msg::@11::@13 rr
Reception report (RR)
uint32_t ntp_frac
NTP timestamp - fractions.
struct rtcp_rr rrv[1]
Reception report blocks
uint32_t psent
RTP packets sent
uint32_t rtp_ts
RTP timestamp
uint32_t lsr
Last SR packet from this source.
uint32_t dlsr
Delay since last SR packet
uint32_t jitter
Interarrival jitter
uint32_t ssrc
Data source being reported
uint32_t last_seq
Extended last seq.