[Asterisk-cvs] asterisk dsp.c,1.24,1.25

markster at lists.digium.com markster at lists.digium.com
Mon Jun 7 18:35:57 CDT 2004


Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv5014

Modified Files:
	dsp.c 
Log Message:
Make faxdetect configurable and turn OFF by default


Index: dsp.c
===================================================================
RCS file: /usr/cvsroot/asterisk/dsp.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- dsp.c	31 May 2004 16:04:10 -0000	1.24
+++ dsp.c	7 Jun 2004 23:38:39 -0000	1.25
@@ -390,7 +390,7 @@
 static int dtmf_detect (dtmf_detect_state_t *s,
                  int16_t amp[],
                  int samples, 
-		 int digitmode, int *writeback)
+		 int digitmode, int *writeback, int faxdetect)
 {
 
     float row_energy[4];
@@ -639,21 +639,7 @@
             }
         } 
 #ifdef FAX_DETECT
-#ifdef OLD_DSP_ROUTINES
-		if (!hit && (fax_energy >= FAX_THRESHOLD) && (fax_energy > s->energy * 21.0)) {
-				fax_energy_2nd = goertzel_result(&s->fax_tone2nd);
-				fax_energy_2nd = goertzel_result(&s->fax_tone2nd);
-				if (fax_energy_2nd * FAX_2ND_HARMONIC < fax_energy) {
-#if 0
-					printf("Fax energy/Second Harmonic: %f/%f\n", fax_energy, fax_energy_2nd);
-#endif					
-					/* XXX Probably need better checking than just this the energy XXX */
-					hit = 'f';
-					s->fax_hits++;
-				} /* Don't reset fax hits counter */
-		}
-#else /* OLD_DSP_ROUTINES */
-		if (!hit && (fax_energy >= FAX_THRESHOLD) && (fax_energy >= DTMF_TO_TOTAL_ENERGY*s->energy)) {
+		if (!hit && (fax_energy >= FAX_THRESHOLD) && (fax_energy >= DTMF_TO_TOTAL_ENERGY*s->energy) && (faxdetect)) {
 #if 0
 				printf("Fax energy/Second Harmonic: %f\n", fax_energy);
 #endif					
@@ -661,7 +647,6 @@
 				hit = 'f';
 				s->fax_hits++;
 		}
-#endif /* OLD_DSP_ROUTINES */
 		else {
 			if (s->fax_hits > 5) {
 				 hit = 'f';
@@ -1057,7 +1042,7 @@
 	if (dsp->digitmode & DSP_DIGITMODE_MF)
 		res = mf_detect(&dsp->td.mf, s, len, dsp->digitmode & DSP_DIGITMODE_RELAXDTMF, writeback);
 	else
-		res = dtmf_detect(&dsp->td.dtmf, s, len, dsp->digitmode & DSP_DIGITMODE_RELAXDTMF, writeback);
+		res = dtmf_detect(&dsp->td.dtmf, s, len, dsp->digitmode & DSP_DIGITMODE_RELAXDTMF, writeback, dsp->features & DSP_FEATURE_FAX_DETECT);
 	return res;
 }
 




More information about the svn-commits mailing list