From: Dragos Oancea Date: Thu, 25 Jul 2019 22:48:17 +0000 (+0000) Subject: FS-11965: RTCP: fix on rtcp_report_block->fraction - "if X packets were expected... X-Git-Tag: v1.10.0~16^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=40982338a0ab921e3cd0f8739ac4bf5eee2e801a;p=thirdparty%2Ffreeswitch.git FS-11965: RTCP: fix on rtcp_report_block->fraction - "if X packets were expected and X was lost, we want 0xff to be reported, not 0" (patch by Piotr Gregor ) --- diff --git a/src/switch_rtp.c b/src/switch_rtp.c index c2e7e0f6fb..142b107469 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -1840,7 +1840,7 @@ static void rtcp_generate_report_block(switch_rtp_t *rtp_session, struct switch_ pkt_lost = expected_pkt - stats->period_pkt_count; stats->cum_lost=stats->cum_lost+pkt_lost; if (expected_pkt > 0 && pkt_lost > 0) { - rtcp_report_block->fraction = (uint8_t) (pkt_lost * 256 / expected_pkt); + rtcp_report_block->fraction = (pkt_lost == expected_pkt ? 255 : (uint8_t) (pkt_lost * 256 / expected_pkt)); /* if X packets were expected and X was lost, we want 0xff to be reported, not 0 */ } else { rtcp_report_block->fraction = 0; }