10 to 120 ms bv16 and bv32
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15566 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
2fa0c4910f
commit
11610cf3b5
|
@ -208,54 +208,62 @@ static switch_status_t switch_bv32_decode(switch_codec_t *codec,
|
||||||
SWITCH_MODULE_LOAD_FUNCTION(mod_bv_load)
|
SWITCH_MODULE_LOAD_FUNCTION(mod_bv_load)
|
||||||
{
|
{
|
||||||
switch_codec_interface_t *codec_interface;
|
switch_codec_interface_t *codec_interface;
|
||||||
|
int mpf, spf, bpf, ebpf, count;
|
||||||
|
|
||||||
/* connect my internal structure to the blank pointer passed to me */
|
/* connect my internal structure to the blank pointer passed to me */
|
||||||
*module_interface = switch_loadable_module_create_module_interface(pool, modname);
|
*module_interface = switch_loadable_module_create_module_interface(pool, modname);
|
||||||
|
|
||||||
SWITCH_ADD_CODEC(codec_interface, "BroadVoice16 (BV16)");
|
SWITCH_ADD_CODEC(codec_interface, "BroadVoice16 (BV16)");
|
||||||
|
|
||||||
switch_core_codec_add_implementation(pool,
|
mpf = 10000, spf = 80, bpf = 160, ebpf = 20;
|
||||||
codec_interface,
|
|
||||||
SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
|
for (count = 12; count > 0; count--) {
|
||||||
106, /* the IANA code number */
|
switch_core_codec_add_implementation(pool,
|
||||||
"BV16", /* the IANA code name */
|
codec_interface,
|
||||||
NULL, /* default fmtp to send (can be overridden by the init function) */
|
SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
|
||||||
8000, /* samples transferred per second */
|
106, /* the IANA code number */
|
||||||
8000, /* actual samples transferred per second */
|
"BV16", /* the IANA code name */
|
||||||
16000, /* bits transferred per second */
|
NULL, /* default fmtp to send (can be overridden by the init function) */
|
||||||
20000, /* number of microseconds per frame */
|
8000, /* samples transferred per second */
|
||||||
160, /* number of samples per frame */
|
8000, /* actual samples transferred per second */
|
||||||
320, /* number of bytes per frame decompressed */
|
16000, /* bits transferred per second */
|
||||||
40, /* number of bytes per frame compressed */
|
mpf * count, /* number of microseconds per frame */
|
||||||
1, /* number of channels represented */
|
spf * count, /* number of samples per frame */
|
||||||
1, /* number of frames per network packet */
|
bpf * count, /* number of bytes per frame decompressed */
|
||||||
switch_bv16_init, /* function to initialize a codec handle using this implementation */
|
ebpf * count, /* number of bytes per frame compressed */
|
||||||
switch_bv16_encode, /* function to encode raw data into encoded data */
|
1, /* number of channels represented */
|
||||||
switch_bv16_decode, /* function to decode encoded data into raw data */
|
1, /* number of frames per network packet */
|
||||||
switch_bv16_destroy); /* deinitalize a codec handle using this implementation */
|
switch_bv16_init, /* function to initialize a codec handle using this implementation */
|
||||||
|
switch_bv16_encode, /* function to encode raw data into encoded data */
|
||||||
|
switch_bv16_decode, /* function to decode encoded data into raw data */
|
||||||
|
switch_bv16_destroy); /* deinitalize a codec handle using this implementation */
|
||||||
|
}
|
||||||
|
|
||||||
SWITCH_ADD_CODEC(codec_interface, "BroadVoice32 (BV32)");
|
SWITCH_ADD_CODEC(codec_interface, "BroadVoice32 (BV32)");
|
||||||
|
|
||||||
switch_core_codec_add_implementation(pool,
|
mpf = 10000, spf = 160, bpf = 320 , ebpf = 40;
|
||||||
codec_interface,
|
|
||||||
SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
|
|
||||||
127, /* the IANA code number */
|
|
||||||
"BV32", /* the IANA code name */
|
|
||||||
NULL, /* default fmtp to send (can be overridden by the init function) */
|
|
||||||
16000, /* samples transferred per second */
|
|
||||||
16000, /* actual samples transferred per second */
|
|
||||||
32000, /* bits transferred per second */
|
|
||||||
20000, /* number of microseconds per frame */
|
|
||||||
320, /* number of samples per frame */
|
|
||||||
640, /* number of bytes per frame decompressed */
|
|
||||||
80, /* number of bytes per frame compressed */
|
|
||||||
1, /* number of channels represented */
|
|
||||||
1, /* number of frames per network packet */
|
|
||||||
switch_bv32_init, /* function to initialize a codec handle using this implementation */
|
|
||||||
switch_bv32_encode, /* function to encode raw data into encoded data */
|
|
||||||
switch_bv32_decode, /* function to decode encoded data into raw data */
|
|
||||||
switch_bv32_destroy); /* deinitalize a codec handle using this implementation */
|
|
||||||
|
|
||||||
|
for (count = 12; count > 0; count--) {
|
||||||
|
switch_core_codec_add_implementation(pool,
|
||||||
|
codec_interface,
|
||||||
|
SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
|
||||||
|
127, /* the IANA code number */
|
||||||
|
"BV32", /* the IANA code name */
|
||||||
|
NULL, /* default fmtp to send (can be overridden by the init function) */
|
||||||
|
16000, /* samples transferred per second */
|
||||||
|
16000, /* actual samples transferred per second */
|
||||||
|
32000, /* bits transferred per second */
|
||||||
|
mpf * count, /* number of microseconds per frame */
|
||||||
|
spf * count, /* number of samples per frame */
|
||||||
|
bpf * count, /* number of bytes per frame decompressed */
|
||||||
|
ebpf * count, /* number of bytes per frame compressed */
|
||||||
|
1, /* number of channels represented */
|
||||||
|
1, /* number of frames per network packet */
|
||||||
|
switch_bv32_init, /* function to initialize a codec handle using this implementation */
|
||||||
|
switch_bv32_encode, /* function to encode raw data into encoded data */
|
||||||
|
switch_bv32_decode, /* function to decode encoded data into raw data */
|
||||||
|
switch_bv32_destroy); /* deinitalize a codec handle using this implementation */
|
||||||
|
}
|
||||||
|
|
||||||
/* indicate that the module should continue to be loaded */
|
/* indicate that the module should continue to be loaded */
|
||||||
return SWITCH_STATUS_SUCCESS;
|
return SWITCH_STATUS_SUCCESS;
|
||||||
|
|
Loading…
Reference in New Issue