mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-02-08 08:51:50 +00:00
codec_string channel_var sets per-call codecs on outbound calls
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3511 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
07a6c2e21d
commit
81ee9b74d1
@ -762,6 +762,8 @@ static void set_local_sdp(private_object_t *tech_pvt, char *ip, uint32_t port, c
|
|||||||
|
|
||||||
static void tech_set_codecs(private_object_t *tech_pvt)
|
static void tech_set_codecs(private_object_t *tech_pvt)
|
||||||
{
|
{
|
||||||
|
switch_channel_t *channel;
|
||||||
|
char *codec_string = NULL;
|
||||||
|
|
||||||
if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) {
|
if (switch_test_flag(tech_pvt, TFLAG_NOMEDIA)) {
|
||||||
return;
|
return;
|
||||||
@ -771,7 +773,16 @@ static void tech_set_codecs(private_object_t *tech_pvt)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tech_pvt->profile->codec_string) {
|
assert(tech_pvt->session != NULL);
|
||||||
|
|
||||||
|
channel = switch_core_session_get_channel(tech_pvt->session);
|
||||||
|
assert (channel != NULL);
|
||||||
|
|
||||||
|
if (!(codec_string = switch_channel_get_variable(channel, "codec_string"))) {
|
||||||
|
codec_string = tech_pvt->profile->codec_string;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (codec_string) {
|
||||||
tech_pvt->num_codecs = switch_loadable_module_get_codecs_sorted(tech_pvt->codecs,
|
tech_pvt->num_codecs = switch_loadable_module_get_codecs_sorted(tech_pvt->codecs,
|
||||||
SWITCH_MAX_CODECS,
|
SWITCH_MAX_CODECS,
|
||||||
tech_pvt->profile->codec_order,
|
tech_pvt->profile->codec_order,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user