提交 55d01d3d authored 作者: Travis Cross's avatar Travis Cross

Send silent packets when idle with SRTP

Originally we did the same thing with SRTP that we do without SRTP,
which is to simply not send packets when e.g. sleep is called.

At commits d6332397 and
5259814a we enabled sending silence
packets with comfort noise when SRTP is active.  We appear to have
done this for interop purposes; many devices can't handle gaps in the
stream of SRTP packets.

But our current comfort noise implementation doesn't take the codec
rate into account (FS-6291), so on 16kHz codecs the constant we chose
created an annoying level of static between sound file playback.

With this commit we preserve the sending of SRTP packets during idle
periods, but make those packets completely silent.

Thanks-to: Anthony Minessale <anthm@freeswitch.org>

FS-5053 --resolve
上级 93c05d9c
...@@ -3041,7 +3041,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_add_crypto_key(switch_rtp_t *rtp_sess ...@@ -3041,7 +3041,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_add_crypto_key(switch_rtp_t *rtp_sess
memset(policy, 0, sizeof(*policy)); memset(policy, 0, sizeof(*policy));
switch_channel_set_variable(channel, "send_silence_when_idle", "400"); switch_channel_set_variable(channel, "send_silence_when_idle", "-1");
switch (crypto_key->type) { switch (crypto_key->type) {
case AES_CM_128_HMAC_SHA1_80: case AES_CM_128_HMAC_SHA1_80:
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论