[commit] r7223 - in freeswitch/trunk/src: . mod/endpoints/mod_sofia
Author: anthm Date: Mon Jan 14 16:51:31 2008 New Revision: 7223 Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c freeswitch/trunk/src/switch_rtp.c Log: put a 5 packet pause between digits so you can hear the spaces Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Mon Jan 14 16:51:31 2008 @@ -546,7 +546,7 @@ tech_pvt = (private_object_t *) switch_core_session_get_private(session); switch_assert(tech_pvt != NULL); - if (!(tech_pvt->profile->pflags & PFLAG_RUNNING)) { + if (0 && !(tech_pvt->profile->pflags & PFLAG_RUNNING)) { switch_channel_hangup(tech_pvt->channel, SWITCH_CAUSE_NORMAL_CLEARING); return SWITCH_STATUS_FALSE; } Modified: freeswitch/trunk/src/switch_rtp.c ============================================================================== --- freeswitch/trunk/src/switch_rtp.c (original) +++ freeswitch/trunk/src/switch_rtp.c Mon Jan 14 16:51:31 2008 @@ -139,6 +139,7 @@ uint32_t ts; uint32_t last_write_ts; uint32_t last_write_samplecount; + uint32_t next_write_samplecount; uint32_t flags; switch_memory_pool_t *pool; switch_sockaddr_t *from_addr; @@ -843,6 +844,7 @@ if (rtp_session->timer.interval) { switch_core_timer_check(&rtp_session->timer); rtp_session->last_write_samplecount = rtp_session->timer.samplecount; + rtp_session->next_write_samplecount = rtp_session->timer.samplecount + samples * 5; } rtp_session->dtmf_data.out_digit_dur = 0; } @@ -851,6 +853,13 @@ if (!rtp_session->dtmf_data.out_digit_dur && rtp_session->dtmf_data.dtmf_queue && switch_queue_size(rtp_session->dtmf_data.dtmf_queue)) { void *pop; + if (rtp_session->timer.interval) { + switch_core_timer_check(&rtp_session->timer); + if (rtp_session->timer.samplecount < rtp_session->next_write_samplecount) { + return; + } + } + if (switch_queue_trypop(rtp_session->dtmf_data.dtmf_queue, &pop) == SWITCH_STATUS_SUCCESS) { switch_dtmf_t *rdigit = pop; int64_t offset;
participants (1)
-
Freeswitch SVN