提交 6b70ecbe authored 作者: Brian West's avatar Brian West

48k 30ms and 40ms codecs

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15135 d0543943-73ff-0310-b7d9-9358b9ac24b2
上级 06c1349b
......@@ -335,7 +335,7 @@ static inline int switch_check_interval(uint32_t rate, uint32_t ptime)
if (ptime < 120) return 1;
break;
case 48000:
max_ms = 20;
max_ms = 40;
ptime_div = 2;
break;
case 32000:
......
......@@ -515,24 +515,33 @@ SWITCH_MODULE_LOAD_FUNCTION(core_pcm_load)
}
switch_core_codec_add_implementation(pool, codec_interface,
SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
118, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
48000, /* samples transferred per second */
48000, /* actual samples transferred per second */
768000, /* bits transferred per second */
20000, /* number of microseconds per frame */
960, /* number of samples per frame */
1920, /* number of bytes per frame decompressed */
1920, /* 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 = 960;
bytes_per_frame = 1920;
ms_per_frame = 20000;
/* 10ms is already registered */
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 */
118, /* the IANA code number */
"L16", /* the IANA code name */
NULL, /* default fmtp to send (can be overridden by the init function) */
48000, /* samples transferred per second */
48000, /* actual samples transferred per second */
768000, /* 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 += 10000;
}
switch_core_codec_add_implementation(pool, codec_interface,
SWITCH_CODEC_TYPE_AUDIO, /* enumeration defining the type of the codec */
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论