From 6e8d57e528927fb9e66dddffb12a2f0bd2ba2779 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Tue, 27 Feb 2018 08:16:26 -0500 Subject: [PATCH] honour RFC 5506 by allowing more RTCP packet types leading the group Change-Id: Ic8d7019e5bcadd9221c913b62e7c89e3042f7316 --- daemon/rtcp.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/daemon/rtcp.c b/daemon/rtcp.c index 165db1924..c2cf496ba 100644 --- a/daemon/rtcp.c +++ b/daemon/rtcp.c @@ -799,10 +799,23 @@ int rtcp_payload(struct rtcp_packet **out, str *p, const str *s) { if (rtcp->header.version != 2) goto error; err = "invalid packet type"; - if (rtcp->header.pt != RTCP_PT_SR - && rtcp->header.pt != RTCP_PT_RR) - goto error; + switch (rtcp->header.pt) { + case RTCP_PT_SR: + case RTCP_PT_RR: + // RFC 5506 + case RTCP_PT_SDES: + case RTCP_PT_BYE: + case RTCP_PT_APP: + // RFC 4585 + 5506 + case RTCP_PT_PSFB: + case RTCP_PT_RTPFB: + // RFC 3611 + 5506 + case RTCP_PT_XR: + goto ok; + } + goto error; +ok: if (!p) goto done;