res_rtp_asterisk: Fix bug in function CHANNEL(rtcp, all_rtt)
authorAaron An <anjb@ti-net.com.cn>
Tue, 10 Jan 2017 11:54:16 +0000 (19:54 +0800)
committerJoshua Colp <jcolp@digium.com>
Thu, 12 Jan 2017 22:55:30 +0000 (16:55 -0600)
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

index 017bb7b..c0ae331 100644 (file)
@@ -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; \