[Asterisk-cvs] zaptel mec2.h,1.5,1.6 mec2_const.h,1.2,1.3

mattf mattf
Wed Sep 7 20:19:31 CDT 2005


Update of /usr/cvsroot/zaptel
In directory mongoose.digium.com:/tmp/cvs-serv332

Modified Files:
	mec2.h mec2_const.h 
Log Message:
Add aggressive suppressor timelimit  (Bug #4823)


Index: mec2.h
===================================================================
RCS file: /usr/cvsroot/zaptel/mec2.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- mec2.h	24 Aug 2005 00:45:04 -0000	1.5
+++ mec2.h	8 Sep 2005 00:19:49 -0000	1.6
@@ -334,10 +334,21 @@
   */
 #ifndef NO_ECHO_SUPPRESSOR
 #ifdef AGGRESSIVE_SUPPRESSOR
-  if ((ec->HCNTR_d < AGGRESSIVE_HCNTR) && (ec->Ly_i > (ec->Lu_i << 1))) {
- 	u = u * (ec->Lu_i >> DEFAULT_SIGMA_LU_I) / ((ec->Ly_i >> (DEFAULT_SIGMA_LY_I)) + 1);
- 	u = u * (ec->Lu_i >> DEFAULT_SIGMA_LU_I) / ((ec->Ly_i >> (DEFAULT_SIGMA_LY_I)) + 1);
+#ifdef AGGRESSIVE_TIMELIMIT /* This allows the aggressive suppressor to turn off after set amount of time */
+  if (ec->i_d > AGGRESSIVE_TIMELIMIT ) {
+  	if ((ec->HCNTR_d == 0) && ((ec->Ly_i/(ec->Lu_i + 1)) > DEFAULT_SUPPR_I)) {
+        	u = u * (ec->Lu_i >> DEFAULT_SIGMA_LU_I) / ((ec->Ly_i >> (DEFAULT_SIGMA_LY_I + 2)) + 1);
+  	}
   }
+  else {
+#endif
+  	if ((ec->HCNTR_d < AGGRESSIVE_HCNTR) && (ec->Ly_i > (ec->Lu_i << 1))) {
+ 		u = u * (ec->Lu_i >> DEFAULT_SIGMA_LU_I) / ((ec->Ly_i >> (DEFAULT_SIGMA_LY_I)) + 1);
+ 		u = u * (ec->Lu_i >> DEFAULT_SIGMA_LU_I) / ((ec->Ly_i >> (DEFAULT_SIGMA_LY_I)) + 1);
+  	}
+#ifdef AGGRESSIVE_TIMELIMIT  
+  }
+#endif
 #else	
   if ((ec->HCNTR_d == 0) && ((ec->Ly_i/(ec->Lu_i + 1)) > DEFAULT_SUPPR_I)) {
   	u = u * (ec->Lu_i >> DEFAULT_SIGMA_LU_I) / ((ec->Ly_i >> (DEFAULT_SIGMA_LY_I + 2)) + 1);

Index: mec2_const.h
===================================================================
RCS file: /usr/cvsroot/zaptel/mec2_const.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- mec2_const.h	27 Jan 2003 05:52:53 -0000	1.2
+++ mec2_const.h	8 Sep 2005 00:19:49 -0000	1.3
@@ -21,5 +21,8 @@
 #define RES_SUPR_FACTOR -20
 #define AGGRESSIVE_HCNTR 160	/* 20ms */
 
+/* Only use agressive echo cancellation for this amount of time then go back to normal cancelation */
+/* #define AGGRESSIVE_TIMELIMIT 150000 */ /* 8 = 1ms */
+
 #endif /* _MEC2_CONST_H */
 




More information about the svn-commits mailing list