summaryrefslogtreecommitdiff
path: root/main/dsp.c
AgeCommit message (Collapse)Author
2008-03-26Large cleanup of DSP codeJason Parker
Per comments from dimas: 1. The code now generates DTMF_BEGIN frames in addition to DTMF_END ones. 2. "quelching" rewritten - now each detector (MF/DTMF/generic tone) may mark fragment of a frame for suppression (squelching, muting) with a call to mute_fragment. Actual muting happens only once at the very end of ast_dsp_process where all marked fragments are zeroed. This way every detector sees original data in the frame without any piece of a frame being zeroed by a detector which was run before. 3. DTMF detector tries to "mute" one block before and one block after the block where actual tone was detected. Muting of previois block is something new for this patch. Obviously this operation is not always possible - if current frame does not contain data for previous block - it is too late. But at least we make our best. Muting of next block was already done by the old code but it only affects part of the next block which is in the frame being processed. New code keeps this information in state structures so it will mute proper number of samples in the next frame(s) too. 4. Removed ast_dsp_digitdetect and ast_dsp_getdigits APIs because these are not used. 5. DSP API extended a bit - ast_dsp_was_muted() function added which returns true if DSP code was muting any fragment in the last frame. chan_zap uses this function to decide it needs to turn on confmute on the channel. This is to replace AST_FRAME_DTMF 'm'/'u' (mute/unmute) functionality. (closes issue #11968) Reported by: dimas Patches: v2-11968-dsp.patch uploaded by dimas (license 88) v4-11968-zap.patch uploaded by dimas (license 88) Tested by: dimas, qwell git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-26Add the "config reload <conffile>" command, which allows you to tell AsteriskTilghman Lesher
to reload any file that references a given configuration file. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@111012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-19Rename DSP_FEATURE_DTMF_DETECT, because we are *NOT* only detecting DTMF digits.Jason Parker
This was very misleading. Early cleanup for issue #11968 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@110161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-19Rename very poorly named function to reflect what it actually does. This ↵Jason Parker
was causing quite a bit of confusion for me... git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@110132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Fix code up to what it was meant to be.Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Create a centralized configuration option for silencethresholdTilghman Lesher
(closes issue #11236) Reported by: philipps Patches: 20080218__bug11236.diff.txt uploaded by Corydon76 (license 14) Tested by: philipps git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Whitespace changes onlyTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-20Largely refactor DSP tone detection routines.Jason Parker
Separate fax detection from digit detected. Added CED (called) tone detection for fax (previously, only CNG (calling) was supported). Separate DTMF/MF code paths where appropriate. Allow detection of arbitary tones. (closes issue #11796) Reported by: dimas Patches: v6-dsp-faxtones.patch uploaded by dimas (license 88) Tested by: dimas, IgorG, Cache git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17Add several busy detection related defines to menuselect.Jason Parker
Allow better busy detect debugging (with BUSYDETECT_DEBUG). Remove very old BUSYDETECT and BUSY_DETECT_MARTIN defines. (closes issue #11107) Patches: busydetect_enhancement.patch uploaded by agx (license 298) busydetect-r94975.diff uploaded by sergee (license 138) Additional changes/cleanup by me. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-07Merged revisions 91890 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.4 (closes issue #11273) ........ r91890 | qwell | 2007-12-07 17:29:01 -0600 (Fri, 07 Dec 2007) | 4 lines We need to make sure we free the input frame if we return a different frame in ast_dsp_process. Issue 11273, pointed out by dimas, with a patch by eliel. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21remove a bunch of useless #include "options.h"Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21Remove obsolete OLD_DSP_ROUTINES code. Also, remove the FAX_DETECT define andRussell Bryant
only do the calculations if fax detection is enabled on the dsp. (closes issue #11331) Reported by: dimas Patches: dsp.patch uploaded by dimas (license 88) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19another few errno.h removalsLuigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89433 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19another bunch of include removals (errno.h and asterisk/logger.h)Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16Start untangling header inclusion in a way that does not affectLuigi Rizzo
build times - tested, there is no measureable difference before and after this commit. In this change: use asterisk/compat.h to include a small set of system headers: inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h, stdlib.h, alloca.h, stdio.h Where available, the inclusion is conditional on HAVE_FOO_H as determined by autoconf. Normally, source files should not include any of the above system headers, and instead use either "asterisk.h" or "asterisk/compat.h" which does it better. For the time being I have left alone second-level directories (main/db1-ast, etc.). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-20trivial formatting changeRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-24Merged revisions 80820 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r80820 | russell | 2007-08-24 15:24:05 -0500 (Fri, 24 Aug 2007) | 7 lines Improve the debouncing logic in the DTMF detector to fix some reliability issues. Previously, this code used a shift register of hits and non-hits. However, if the start of the digit isn't clean, it is possible for the leading edge detector to miss the digit. These changes replace the flawed shift register logic and also does the debouncing on the trailing edge as well. (closes issue #10535, many thanks to softins for the patch) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80821 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14Add a massive set of changes for converting to use the ast_debug() macro.Russell Bryant
(issue #9957, patches from mvanbaak, caio1982, critch, and dimas) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06Issue 9869 - replace malloc and memset with ast_calloc, and other coding ↵Tilghman Lesher
guidelines changes git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06Yet another minor change to test mantis/svnRussell Bryant
(issue #9828) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06minor formatting change ... testing mantis/svnRussell Bryant
(issue #9828) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06minor formatting change ... testing mantis/svnRussell Bryant
(issue #9828) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-29Changed the dtmf detection to integer based goertzel algorithm.Doug Bailey
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-08Merged revisions 58389 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r58389 | file | 2007-03-08 11:07:10 -0500 (Thu, 08 Mar 2007) | 10 lines Merged revisions 58388 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r58388 | file | 2007-03-08 11:04:58 -0500 (Thu, 08 Mar 2007) | 2 lines Only print out debug message if the definition that makes the variables shows up was actually defined. (issue #9233 reported by serginuez) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@58390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-23Cosmetic changes. Make main source files better conform to coding guidelines ↵Joshua Colp
and standards. (issue #8679 reported by johann8384) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-03bug #8076 check option_debug before printing to debug channel.Matt O'Gorman
patch provided in bugnote, with minor changes. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44253 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31Merge in VLDTMF support with Zaptel/Core done by the ever great Darumkilla ↵Joshua Colp
Russell Bryant and the RTP portion done by myself, Muffinlicious Joshua Colp. This has gone through so many discussions/revisions it's not funny but we finally have it! git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21merge new_loader_completion branch, including (at least):Kevin P. Fleming
- restructured build tree and makefiles to eliminate recursion problems - support for embedded modules - support for static builds - simpler cross-compilation support - simpler module/loader interface (no exported symbols) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3