adding 12kHz and 24kHz

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16026 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Brian West
2009-12-22 21:24:15 +00:00
parent 376c07e8bd
commit 908d8a7280
5 changed files with 68 additions and 5 deletions

View File

@@ -388,6 +388,67 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
bpf = bpf * 2;
ebpf = ebpf * 2;
}
samples_per_frame = 240;
bytes_per_frame = 480;
ms_per_frame = 20000;
for (x = 0; x < 5; x++) {
switch_core_codec_add_implementation(pool, codec_interface,
SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
10, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
12000, /* samples transferred per second */
12000, /* actual samples transferred per second */
192000, /* bits transferred per second */
ms_per_frame, /* number of microseconds per frame */
samples_per_frame, /* number of samples per frame */
bytes_per_frame, /* number of bytes per frame decompressed */
bytes_per_frame, /* number of bytes per frame compressed */
1, /* number of channels represented */
1, /* number of frames per network packet */
switch_raw_init, /* function to initialize a codec handle using this implementation */
switch_raw_encode, /* function to encode raw data into encoded data */
switch_raw_decode, /* function to decode encoded data into raw data */
switch_raw_destroy); /* deinitalize a codec handle using this implementation */
samples_per_frame += 240;
bytes_per_frame += 480;
ms_per_frame += 20000;
}
samples_per_frame = 480;
bytes_per_frame = 960;
ms_per_frame = 20000;
for (x = 0; x < 3; x++) {
switch_core_codec_add_implementation(pool, codec_interface,
SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
10, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
24000, /* samples transferred per second */
24000, /* actual samples transferred per second */
384000, /* bits transferred per second */
ms_per_frame, /* number of microseconds per frame */
samples_per_frame, /* number of samples per frame */
bytes_per_frame, /* number of bytes per frame decompressed */
bytes_per_frame, /* number of bytes per frame compressed */
1, /* number of channels represented */
1, /* number of frames per network packet */
switch_raw_init, /* function to initialize a codec handle using this implementation */
switch_raw_encode, /* function to encode raw data into encoded data */
switch_raw_decode, /* function to decode encoded data into raw data */
switch_raw_destroy); /* deinitalize a codec handle using this implementation */
samples_per_frame += 480;
bytes_per_frame += 960;
ms_per_frame += 20000;
}
/* these formats below are for file playing. */
samples_per_frame = 96;
@@ -451,8 +512,6 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
}
samples_per_frame = 32;
bytes_per_frame = 64;
ms_per_frame = 2000;