From: Alec L Davis Date: Thu, 4 Oct 2012 20:03:26 +0000 (+0000) Subject: dsp.c fix incorrect DTMF Digit_Duration. X-Git-Tag: 1.8.18.0-rc1~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f4977cb24b903cb41eed3004ad14793551517388;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/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@374475 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/dsp.c b/main/dsp.c index 69a8ff64cd..10b134f6fe 100644 --- a/main/dsp.c +++ b/main/dsp.c @@ -819,6 +819,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; }