From 385769344bd55da1618fca6acc9770159144953d Mon Sep 17 00:00:00 2001 From: Dragos Oancea Date: Thu, 7 Feb 2019 23:18:02 +0000 Subject: [PATCH] FS-11549: RTCP: fix report block stats (thanks Sergey Hripchenko) --- src/switch_rtp.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 288d697595..8e544dbfe5 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -2176,6 +2176,7 @@ static int check_rtcp_and_ice(switch_rtp_t *rtp_session) rtcp_bytes += sizeof(struct switch_rtcp_report_block); rtcp_generate_report_block(rtp_session, rtcp_report_block, nack_dup); rtp_session->rtcp_send_msg.header.count = 1; /* reception report block count */ + stats->sent_pkt_count = 0; } switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_NOTICE, "Sending RTCP SR (ssrc=%u)\n", rtp_session->ssrc); } @@ -2355,12 +2356,12 @@ static int check_rtcp_and_ice(switch_rtp_t *rtp_session) rtcp_bytes += sdes_bytes; /* Prepare next report */ - - stats->last_rpt_cycle = stats->cycle; - stats->last_rpt_ext_seq = stats->high_ext_seq_recv; - stats->last_rpt_ts = rtp_session->write_timer.samplecount; - stats->period_pkt_count = 0; - stats->sent_pkt_count = 0; + if (rtp_session->rtcp_send_msg.header.count) { + stats->last_rpt_cycle = stats->cycle; + stats->last_rpt_ext_seq = stats->high_ext_seq_recv; + stats->last_rpt_ts = rtp_session->write_timer.samplecount; + stats->period_pkt_count = 0; + }