From: Anthony Minessale Date: Wed, 14 Aug 2013 16:00:08 +0000 (+0500) Subject: FS-5701 --resolve X-Git-Tag: v1.5.5~45^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=624189be16a1d3828025d82ae092bbb1da3d489d;p=thirdparty%2Ffreeswitch.git FS-5701 --resolve --- diff --git a/src/switch_ivr.c b/src/switch_ivr.c index 232f0a6dd2..1f91ed9625 100644 --- a/src/switch_ivr.c +++ b/src/switch_ivr.c @@ -2907,6 +2907,12 @@ SWITCH_DECLARE(void) switch_ivr_delay_echo(switch_core_session_t *session, uint3 interval = read_impl.microseconds_per_packet / 1000; //samples = switch_samples_per_packet(read_impl.samples_per_second, interval); + if (delay_ms < interval * 2) { + delay_ms = interval * 2; + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "Minimum possible delay for this codec (%d) has been chosen\n", delay_ms); + } + + qlen = delay_ms / (interval) / 2; switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Setting delay to %dms (%d frames)\n", delay_ms, qlen); jb = stfu_n_init(qlen, qlen, read_impl.samples_per_packet, read_impl.samples_per_second, 0);