[svn-commits] tzafrir: branch 1.4 r4013 - in /branches/1.4: ./ kernel/xpp/

SVN commits to the Digium repositories svn-commits at lists.digium.com
Tue Mar 18 20:19:01 CDT 2008


Author: tzafrir
Date: Tue Mar 18 20:19:01 2008
New Revision: 4013

URL: http://svn.digium.com/view/zaptel?view=rev&rev=4013
Log:
* We need to silence the echo-canceller buffers as well.
* But no need to cancel echo on channels without PCM.
* Switch to FXS hardware DTMF detection again.

Merged revisions 4012 via svnmerge from 
http://svn.digium.com/svn/zaptel/branches/1.2

Modified:
    branches/1.4/   (props changed)
    branches/1.4/kernel/xpp/card_fxs.c
    branches/1.4/kernel/xpp/xbus-pcm.c

Propchange: branches/1.4/
------------------------------------------------------------------------------
Binary property 'branch-1.2-merged' - no diff available.

Modified: branches/1.4/kernel/xpp/card_fxs.c
URL: http://svn.digium.com/view/zaptel/branches/1.4/kernel/xpp/card_fxs.c?view=diff&rev=4013&r1=4012&r2=4013
==============================================================================
--- branches/1.4/kernel/xpp/card_fxs.c (original)
+++ branches/1.4/kernel/xpp/card_fxs.c Tue Mar 18 20:19:01 2008
@@ -36,7 +36,7 @@
 DEF_PARM(int, print_dbg, 0, 0644, "Print DBG statements");	/* must be before zap_debug.h */
 DEF_PARM_BOOL(reversepolarity, 0, 0644, "Reverse Line Polarity");
 DEF_PARM_BOOL(vmwineon, 0, 0644, "Indicate voicemail to a neon lamp");
-DEF_PARM_BOOL(dtmf_detection, 0, 0644, "Do DTMF detection in hardware");
+DEF_PARM_BOOL(dtmf_detection, 1, 0644, "Do DTMF detection in hardware");
 #ifdef	POLL_DIGITAL_INPUTS
 DEF_PARM(uint, poll_digital_inputs, 1000, 0644, "Poll Digital Inputs");
 #endif

Modified: branches/1.4/kernel/xpp/xbus-pcm.c
URL: http://svn.digium.com/view/zaptel/branches/1.4/kernel/xpp/xbus-pcm.c?view=diff&rev=4013&r1=4012&r2=4013
==============================================================================
--- branches/1.4/kernel/xpp/xbus-pcm.c (original)
+++ branches/1.4/kernel/xpp/xbus-pcm.c Tue Mar 18 20:19:01 2008
@@ -675,6 +675,8 @@
 	for (i = 0;i < xpd->span.channels; i++) {
 		if(unlikely(IS_SET(xpd->digital_signalling, i)))	/* Don't echo cancel BRI D-chans */
 			continue;
+		if(!IS_SET(xpd->wanted_pcm_mask, i))			/* No ec for unwanted PCM */
+			continue;
 #ifdef XPP_EC_CHUNK 
 		/* even if defined, parameterr xpp_ec can override at run-time */
 		if (xpp_ec)
@@ -860,8 +862,11 @@
 		volatile u_char	*r = xpd->span.chans[i].readchunk;
 
 		if(!IS_SET(xpd->wanted_pcm_mask, i)) {
-			if(IS_SET(xpd->silence_pcm, i))
+			if(IS_SET(xpd->silence_pcm, i)) {
 				memset((u_char *)r, 0x7F, ZT_CHUNKSIZE);	// SILENCE
+				memset(xpd->ec_chunk2[i], 0x7F, ZT_CHUNKSIZE);
+				memset(xpd->ec_chunk1[i], 0x7F, ZT_CHUNKSIZE);
+			}
 			continue;
 		}
 		pcm_mask &= ~xpd->mute_dtmf;




More information about the svn-commits mailing list