cheat so jingle can use ilbc right
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1202 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
453b85ba9f
commit
813a57776b
|
@ -218,12 +218,47 @@ static const switch_codec_implementation ilbc_8k_20ms_implementation = {
|
|||
};
|
||||
|
||||
|
||||
static const switch_codec_implementation ilbc_8k_20ms_nonext_implementation = {
|
||||
/*.samples_per_second */ 8000,
|
||||
/*.bits_per_second */ NO_OF_BYTES_20MS*8*8000/BLOCKL_20MS,
|
||||
/*.microseconds_per_frame */ 20000,
|
||||
/*.samples_per_frame */ 160,
|
||||
/*.bytes_per_frame */ 320,
|
||||
/*.encoded_bytes_per_frame */ NO_OF_BYTES_20MS,
|
||||
/*.number_of_channels */ 1,
|
||||
/*.pref_frames_per_packet */ 1,
|
||||
/*.max_frames_per_packet */ 1,
|
||||
/*.init */ switch_ilbc_init,
|
||||
/*.encode */ switch_ilbc_encode,
|
||||
/*.decode */ switch_ilbc_decode,
|
||||
/*.destroy */ switch_ilbc_destroy
|
||||
};
|
||||
|
||||
|
||||
static const switch_codec_interface ilbc_20ms_codec_interface = {
|
||||
/*.interface_name */ "ilbc",
|
||||
/*.codec_type */ SWITCH_CODEC_TYPE_AUDIO,
|
||||
/*.ianacode */ 97,
|
||||
/*.iananame */ "iLBC20ms",
|
||||
/*.implementations */ &ilbc_8k_20ms_nonext_implementation
|
||||
};
|
||||
|
||||
static const switch_codec_interface ilbc_102_codec_interface = {
|
||||
/*.interface_name */ "ilbc",
|
||||
/*.codec_type */ SWITCH_CODEC_TYPE_AUDIO,
|
||||
/*.ianacode */ 102,
|
||||
/*.iananame */ "iLBC102",
|
||||
/*.implementations */ &ilbc_8k_20ms_implementation,
|
||||
/*.next*/ &ilbc_20ms_codec_interface
|
||||
};
|
||||
|
||||
static const switch_codec_interface ilbc_codec_interface = {
|
||||
/*.interface_name */ "ilbc",
|
||||
/*.codec_type */ SWITCH_CODEC_TYPE_AUDIO,
|
||||
/*.ianacode */ 97,
|
||||
/*.iananame */ "iLBC",
|
||||
/*.implementations */ &ilbc_8k_20ms_implementation,
|
||||
/*.next*/ &ilbc_102_codec_interface
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -224,15 +224,20 @@ static int activate_rtp(struct private_object *tech_pvt)
|
|||
{
|
||||
switch_channel *channel = switch_core_session_get_channel(tech_pvt->session);
|
||||
const char *err;
|
||||
int ms = 20;
|
||||
|
||||
if (tech_pvt->rtp_session) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (!strcasecmp(tech_pvt->codec_name, "ilbc")) {
|
||||
ms = 30;
|
||||
}
|
||||
|
||||
if (switch_core_codec_init(&tech_pvt->read_codec,
|
||||
tech_pvt->codec_name,
|
||||
8000,
|
||||
20,
|
||||
ms,
|
||||
1,
|
||||
SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE,
|
||||
NULL, switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) {
|
||||
|
@ -248,7 +253,7 @@ static int activate_rtp(struct private_object *tech_pvt)
|
|||
if (switch_core_codec_init(&tech_pvt->write_codec,
|
||||
tech_pvt->codec_name,
|
||||
8000,
|
||||
20,
|
||||
ms,
|
||||
1,
|
||||
SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE,
|
||||
NULL, switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) {
|
||||
|
@ -388,8 +393,6 @@ static int do_describe(struct private_object *tech_pvt, int force)
|
|||
}
|
||||
|
||||
|
||||
payloads[0].name = tech_pvt->codecs[0]->iananame;
|
||||
payloads[0].id = tech_pvt->codecs[0]->ianacode;
|
||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Send Describe [%s]\n", payloads[0].name);
|
||||
tech_pvt->desc_id = ldl_session_describe(tech_pvt->dlsession, payloads, 1,
|
||||
switch_test_flag(tech_pvt, TFLAG_OUTBOUND) ? LDL_DESCRIPTION_INITIATE : LDL_DESCRIPTION_ACCEPT);
|
||||
|
|
Loading…
Reference in New Issue