提交 56d83d19 authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-8321 #resolve [BEHAVIOR CHANGE Add variable media_mix_inbound_outbound_codecs…

FS-8321 #resolve [BEHAVIOR CHANGE Add variable media_mix_inbound_outbound_codecs to mix inbound and outbound codecs]
上级 d1fca9bd
...@@ -1748,7 +1748,7 @@ SWITCH_DECLARE(switch_core_media_params_t *) switch_core_media_get_mparams(switc ...@@ -1748,7 +1748,7 @@ SWITCH_DECLARE(switch_core_media_params_t *) switch_core_media_get_mparams(switc
SWITCH_DECLARE(void) switch_core_media_prepare_codecs(switch_core_session_t *session, switch_bool_t force) SWITCH_DECLARE(void) switch_core_media_prepare_codecs(switch_core_session_t *session, switch_bool_t force)
{ {
const char *abs, *codec_string = NULL; const char *abs, *codec_string = NULL;
const char *ocodec = NULL; const char *ocodec = NULL, *val;
switch_media_handle_t *smh; switch_media_handle_t *smh;
switch_assert(session); switch_assert(session);
...@@ -1778,6 +1778,14 @@ SWITCH_DECLARE(void) switch_core_media_prepare_codecs(switch_core_session_t *ses ...@@ -1778,6 +1778,14 @@ SWITCH_DECLARE(void) switch_core_media_prepare_codecs(switch_core_session_t *ses
goto ready; goto ready;
} }
val = switch_channel_get_variable_dup(session->channel, "media_mix_inbound_outbound_codecs", SWITCH_FALSE, -1);
if (!val || !switch_true(val)) {
if ((ocodec = switch_channel_get_variable(session->channel, SWITCH_ORIGINATOR_CODEC_VARIABLE))) {
codec_string = ocodec;
goto ready;
}
}
if (!(codec_string = switch_channel_get_variable(session->channel, "codec_string"))) { if (!(codec_string = switch_channel_get_variable(session->channel, "codec_string"))) {
codec_string = switch_core_media_get_codec_string(smh->session); codec_string = switch_core_media_get_codec_string(smh->session);
} }
...@@ -1787,7 +1795,7 @@ SWITCH_DECLARE(void) switch_core_media_prepare_codecs(switch_core_session_t *ses ...@@ -1787,7 +1795,7 @@ SWITCH_DECLARE(void) switch_core_media_prepare_codecs(switch_core_session_t *ses
goto ready; goto ready;
} }
if ((ocodec = switch_channel_get_variable(session->channel, SWITCH_ORIGINATOR_CODEC_VARIABLE))) { if (ocodec) {
if (!codec_string || (smh->media_flags[SCMF_DISABLE_TRANSCODING])) { if (!codec_string || (smh->media_flags[SCMF_DISABLE_TRANSCODING])) {
codec_string = ocodec; codec_string = ocodec;
} else { } else {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论