]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
dsp.c fix incorrect DTMF Digit_Duration.
authorAlec L Davis <sivad.a@paradise.net.nz>
Thu, 4 Oct 2012 20:06:45 +0000 (20:06 +0000)
committerAlec L Davis <sivad.a@paradise.net.nz>
Thu, 4 Oct 2012 20:06:45 +0000 (20:06 +0000)
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
........

Merged revisions 374476 from http://svn.asterisk.org/svn/asterisk/branches/10

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@374477 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/dsp.c

index cb4f9a2e551eec87b2ed98329541bd20ee25df13..03ce808dd333f4889dc6cc7a14361145af0f556c 100644 (file)
@@ -817,6 +817,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;
                        }