FS-7903 #resolve [proxy_media gives Codec PROXY Exists but not at the desired implementation. 0hz 0ms 1ch]

This commit is contained in:
Anthony Minessale 2015-08-24 17:43:59 -05:00 committed by Michael Jerris
parent bad2250044
commit d3d1a058ab
3 changed files with 31 additions and 21 deletions

View File

@ -651,6 +651,17 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_init_with_bitrate(switch_codec
return SWITCH_STATUS_GENERR;
}
if (!strncasecmp(codec_name, "PROXY", 5)) {
for (iptr = codec_interface->implementations; iptr; iptr = iptr->next) {
if ((!channels || channels == iptr->number_of_channels)) {
implementation = iptr;
break;
}
}
goto found;
}
/* If no specific codec interval is requested opt for 20ms above all else because lots of stuff assumes it */
if (!ms) {
for (iptr = codec_interface->implementations; iptr; iptr = iptr->next) {

View File

@ -688,7 +688,6 @@ SWITCH_DECLARE(payload_map_t *) switch_core_media_add_payload_map(switch_core_se
pmap->allocated = 1;
pmap->recv_pt = (switch_payload_t) pt;
@ -7471,7 +7470,7 @@ SWITCH_DECLARE(void) switch_core_media_patch_sdp(switch_core_session_t *session)
SDP_TYPE_RESPONSE,
0,
8000,
8000,
20,
1,
SWITCH_TRUE);
@ -8751,7 +8750,7 @@ SWITCH_DECLARE(void) switch_core_media_check_outgoing_proxy(switch_core_session_
SDP_TYPE_RESPONSE,
0,
8000,
8000,
20,
1,
SWITCH_TRUE);

View File

@ -364,24 +364,24 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
switch_proxy_decode, /* function to decode encoded data into raw data */
switch_proxy_destroy); /* deinitalize a codec handle using this implementation */
SWITCH_ADD_CODEC(codec_interface, "PROXY PASS-THROUGH");
switch_core_codec_add_implementation(pool, codec_interface, SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
0, /* the IANA code number */
"PROXY", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
8000, /* samples transferred per second */
8000, /* actual samples transferred per second */
0, /* bits transferred per second */
20000, /* number of microseconds per frame */
160, /* number of samples per frame */
320 * 2, /* number of bytes per frame decompressed */
320 * 2, /* number of bytes per frame compressed */
2, /* number of channels represented */
1, /* number of frames per network packet */
switch_proxy_init, /* function to initialize a codec handle using this implementation */
switch_proxy_encode, /* function to encode raw data into encoded data */
switch_proxy_decode, /* function to decode encoded data into raw data */
switch_proxy_destroy); /* deinitalize a codec handle using this implementation */
switch_core_codec_add_implementation(pool, codec_interface, SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
0, /* the IANA code number */
"PROXY", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
8000, /* samples transferred per second */
8000, /* actual samples transferred per second */
0, /* bits transferred per second */
20000, /* number of microseconds per frame */
160, /* number of samples per frame */
320 * 2, /* number of bytes per frame decompressed */
320 * 2, /* number of bytes per frame compressed */
2, /* number of channels represented */
1, /* number of frames per network packet */
switch_proxy_init, /* function to initialize a codec handle using this implementation */
switch_proxy_encode, /* function to encode raw data into encoded data */
switch_proxy_decode, /* function to decode encoded data into raw data */
switch_proxy_destroy); /* deinitalize a codec handle using this implementation */
SWITCH_ADD_CODEC(codec_interface, "RAW Signed Linear (16 bit)");