From: Alec L Davis Date: Thu, 4 Oct 2012 20:05:14 +0000 (+0000) Subject: dsp.c fix incorrect DTMF Digit_Duration. X-Git-Tag: 10.10.0-rc1~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=600de01b40669c328a7ef75788b82a2b9c5011d6;p=thirdparty%2Fasterisk.git dsp.c fix incorrect DTMF Digit_Duration. it's always short by 'hits_to_begin*DTMF_GSIZE', or 25.5ms if hitstobegin=2 (issue ASTERISK-16003) Tested by: alecdavis alecdavis (license 585) Review https://reviewboard.asterisk.org/r/2145/ ........ Merged revisions 374475 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@374476 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/dsp.c b/main/dsp.c index 6de9d020c7..ca44033449 100644 --- a/main/dsp.c +++ b/main/dsp.c @@ -816,6 +816,7 @@ static int dtmf_detect(struct ast_dsp *dsp, digit_detect_state_t *s, int16_t amp s->td.dtmf.hits++; if (s->td.dtmf.hits == s->td.dtmf.hits_to_begin) { store_digit(s, hit); + s->digitlen[s->current_digits - 1] = s->td.dtmf.hits_to_begin * DTMF_GSIZE; s->td.dtmf.current_hit = hit; s->td.dtmf.misses = 0; }