From e0e502d9d24d6e99024ee6a26a3a09eb968bb62a Mon Sep 17 00:00:00 2001 From: Aaron An Date: Tue, 10 Jan 2017 19:54:16 +0800 Subject: [PATCH] res_rtp_asterisk: Fix bug in function CHANNEL(rtcp, all_rtt) Function CHANNEL(rtcp,all_rtt) CHANNEL(rtcp,all_loss) CHANNEL(rtcp,all_jitter) always return 0.0 due to wrong define of macro "AST_RTP_SATA_SET" and "AST_RTP_STAT_STRCPY". It should compare "combined" with "stat" not "current_stat". ASTERISK-26710 #close Reported-by: Aaron An Tested-by: AaronAn Change-Id: Id4140fafbf92e2db689dac5b17d9caa009028a15 --- include/asterisk/rtp_engine.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/asterisk/rtp_engine.h b/include/asterisk/rtp_engine.h index 017bb7b7ac..c0ae331557 100644 --- a/include/asterisk/rtp_engine.h +++ b/include/asterisk/rtp_engine.h @@ -373,7 +373,7 @@ struct ast_rtp_instance_stats { }; #define AST_RTP_STAT_SET(current_stat, combined, placement, value) \ -if (stat == current_stat || stat == AST_RTP_INSTANCE_STAT_ALL || (combined >= 0 && combined == current_stat)) { \ +if (stat == current_stat || stat == AST_RTP_INSTANCE_STAT_ALL || (combined >= 0 && combined == stat)) { \ placement = value; \ if (stat == current_stat) { \ return 0; \ @@ -381,7 +381,7 @@ return 0; \ } #define AST_RTP_STAT_STRCPY(current_stat, combined, placement, value) \ -if (stat == current_stat || stat == AST_RTP_INSTANCE_STAT_ALL || (combined >= 0 && combined == current_stat)) { \ +if (stat == current_stat || stat == AST_RTP_INSTANCE_STAT_ALL || (combined >= 0 && combined == stat)) { \ ast_copy_string(placement, value, sizeof(placement)); \ if (stat == current_stat) { \ return 0; \