FSCORE-510

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15904 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2009-12-11 05:14:45 +00:00
parent d228451831
commit 922e1d65ce
1 changed files with 7 additions and 1 deletions

View File

@ -215,6 +215,7 @@ struct switch_rtp {
switch_rtp_stats_t stats;
uint32_t hot_hits;
uint32_t sync_packets;
uint32_t dtmf_wait;
#ifdef ENABLE_ZRTP
zrtp_session_t *zrtp_session;
@ -1604,6 +1605,7 @@ static void do_2833(switch_rtp_t *rtp_session)
rtp_session->next_write_samplecount = rtp_session->timer.samplecount + samples * 5;
}
rtp_session->dtmf_data.out_digit_dur = 0;
rtp_session->dtmf_wait = rtp_session->samples_per_interval ? ((rtp_session->samples_per_second / 4) / rtp_session->samples_per_interval) : 12;
}
}
@ -1616,7 +1618,11 @@ static void do_2833(switch_rtp_t *rtp_session)
}
}
if (switch_queue_trypop(rtp_session->dtmf_data.dtmf_queue, &pop) == SWITCH_STATUS_SUCCESS) {
if (rtp_session->dtmf_wait) {
rtp_session->dtmf_wait--;
}
if (!rtp_session->dtmf_wait && switch_queue_trypop(rtp_session->dtmf_data.dtmf_queue, &pop) == SWITCH_STATUS_SUCCESS) {
switch_dtmf_t *rdigit = pop;
int64_t offset;
switch_size_t wrote;