From: Aaron An Date: Tue, 10 Jan 2017 11:54:16 +0000 (+0800) Subject: res_rtp_asterisk: Fix bug in function CHANNEL(rtcp, all_rtt) X-Git-Tag: 13.14.0-rc1~43^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0047b1bc4962b5051608c8f7a02a8b03ee4d7ec5;p=thirdparty%2Fasterisk.git 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 --- diff --git a/include/asterisk/rtp_engine.h b/include/asterisk/rtp_engine.h index 24af05693c..c4a5b6b41c 100644 --- a/include/asterisk/rtp_engine.h +++ b/include/asterisk/rtp_engine.h @@ -369,7 +369,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; \ @@ -377,7 +377,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; \