Main Page | Modules | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

switch_pcm.c File Reference


Functions

 SWITCH_MODULE_LOAD_FUNCTION (core_pcm_load)
 SWITCH_MODULE_DEFINITION (CORE_PCM_MODULE, core_pcm_load, NULL, NULL)


Function Documentation

SWITCH_MODULE_DEFINITION CORE_PCM_MODULE  ,
core_pcm_load  ,
NULL  ,
NULL 
 

SWITCH_MODULE_LOAD_FUNCTION core_pcm_load   ) 
 

00294 {
00295         switch_codec_interface_t *codec_interface;
00296     int mpf = 10000, spf = 80, bpf = 160, ebpf = 160, bps = 128000, rate = 8000, counta = 1, countb = 12;
00297     switch_payload_t ianacode[4] = { 0, 10, 117, 119 };
00298 
00299         /* connect my internal structure to the blank pointer passed to me */
00300         *module_interface = switch_loadable_module_create_module_interface(pool, modname);
00301 
00302         SWITCH_ADD_CODEC(codec_interface, "PROXY VIDEO PASS-THROUGH");
00303     switch_core_codec_add_implementation(pool, codec_interface,
00304                                          SWITCH_CODEC_TYPE_VIDEO, 31, "PROXY-VID", NULL, 90000, 90000, 0,
00305                                          0, 0, 0, 0, 1, 1, 1,
00306                                                                                  switch_proxy_init, switch_proxy_encode, switch_proxy_decode, switch_proxy_destroy);
00307 
00308 
00309         SWITCH_ADD_CODEC(codec_interface, "PROXY PASS-THROUGH");
00310         switch_core_codec_add_implementation(pool, codec_interface,
00311                                                                                  SWITCH_CODEC_TYPE_AUDIO, 0, "PROXY", NULL, 8000, 8000, 0,
00312                                                                                  20000, 160, 320, 320, 1, 1, 12,
00313                                                                                  switch_proxy_init, switch_proxy_encode, switch_proxy_decode, switch_proxy_destroy);
00314         
00315         SWITCH_ADD_CODEC(codec_interface, "RAW Signed Linear (16 bit)");
00316 
00317     for (counta = 1; counta <= 3; counta++) {
00318         for (countb = 12; countb > 0; countb--) {
00319             switch_core_codec_add_implementation(pool, codec_interface,
00320                                                  SWITCH_CODEC_TYPE_AUDIO, ianacode[counta], "L16", NULL, rate, rate, bps,
00321                                                  mpf * countb, spf * countb, bpf * countb, ebpf * countb, 1, 1, 12,
00322                                                  switch_raw_init, switch_raw_encode, switch_raw_decode, switch_raw_destroy);
00323         }
00324         rate = rate * 2;
00325         bps = bps * 2;
00326         spf = spf * 2;
00327         bpf = bpf * 2;
00328         ebpf = ebpf * 2;
00329     }
00330         /* these formats below are for file playing. */
00331 
00332     switch_core_codec_add_implementation(pool, codec_interface,
00333                                          SWITCH_CODEC_TYPE_AUDIO, 118, "L16", NULL, 22050, 22050, 352800,
00334                                          20000, 441, 882, 882, 1, 1, 1,
00335                                          switch_raw_init, switch_raw_encode, switch_raw_decode, switch_raw_destroy);
00336 
00337     switch_core_codec_add_implementation(pool, codec_interface,
00338                                          SWITCH_CODEC_TYPE_AUDIO, 118, "L16", NULL, 11025, 11025, 176400,
00339                                          40000, 441, 882, 882, 1, 1, 1,
00340                                          switch_raw_init, switch_raw_encode, switch_raw_decode, switch_raw_destroy);
00341     
00342 
00343 
00344         /* indicate that the module should continue to be loaded */
00345 
00346         mod_g711_load(module_interface, pool);
00347 
00348         return SWITCH_STATUS_SUCCESS;
00349 }

Here is the call graph for this function:


Generated on Mon May 26 22:06:52 2008 for FreeSWITCH by  doxygen 1.3.9.1