当我使用"show codecs“查看加载的编解码器时,我正在安装freeswitch 1.6.19。
未加载CORE_PCM_MODULE、CORE_SPEEX_MODULE、CORE_VPX_MODULE
> show codecs
codec,ADPCM (IMA),mod_spandsp
codec,AMR,mod_amr
codec,B64 (STANDARD),mod_b64
codec,G.722,mod_spandsp
codec,G.723.1 6.3k,mod_g723_1
codec,G.726 16k,mod_spandsp
codec,G.726 16k (AAL2),mod_spandsp
codec,G.726 24k,mod_spandsp
codec,G.726 24k (AAL2),mod_spandsp
codec,G.726 32k,mod_spandsp
codec,G.726 32k (AAL2),mod_spandsp
codec,G.726 40k,mod_spandsp
codec,G.726 40k (AAL2),mod_spandsp
codec,G.729,mod_g729
codec,GSM,mod_spandsp
codec,H.261 Video (passthru),mod_h26x
codec,H.263 Video (passthru),mod_h26x
codec,H.263+ Video (passthru),mod_h26x
codec,H.263++ Video (passthru),mod_h26x
codec,H.264 Video (passthru),mod_h26x
codec,H263 Video,mod_av
codec,H263+ Video,mod_av
codec,H264 Video,mod_av
codec,LPC-10,mod_spandsp
codec,OPUS (STANDARD),mod_opus
codec,iLBC,mod_ilbc
26 total.当我使用fs_cli中的命令时,会加载CORE_PCM_MODULE、CORE_SPEEX_MODULE和CORE_VPX_MODULE
> reload CORE_PCM_MODULE
> reload CORE_SPEEX_MODULE
> reload CORE_VPX_MODULE但是当我重新启动freeswitch服务时,这三个模块都消失了。
如何在启动freeswitch服务时加载这些核心模块?
音频编解码器转码也不能正常工作。我不知道这个问题是否与CORE_MODULE加载有关。
发布于 2017-10-02 09:29:57
我尝试修改了freeswitch-1.6.19/src/switch_loadable_module.c.它解决了这个问题。但我不知道修改是否破坏了其他模块的加载过程。
这个问题也可以在freeswitch jira:https://freeswitch.org/jira/browse/FS-9102中找到。
下面附上了补丁文件
--- switch_loadable_module.c 2017-07-13 20:07:30.000000000 +0800
+++ freeswitch-1.6.19/src/switch_loadable_module.c 2017-09-29 17:23:10.000000000 +0800
@@ -1875,15 +1875,6 @@
if (!autoload) return SWITCH_STATUS_SUCCESS;
- switch_loadable_module_load_module("", "CORE_SOFTTIMER_MODULE", SWITCH_FALSE, &err);
- switch_loadable_module_load_module("", "CORE_PCM_MODULE", SWITCH_FALSE, &err);
- switch_loadable_module_load_module("", "CORE_SPEEX_MODULE", SWITCH_FALSE, &err);
-#ifdef SWITCH_HAVE_YUV
-#ifdef SWITCH_HAVE_VPX
- switch_loadable_module_load_module("", "CORE_VPX_MODULE", SWITCH_FALSE, &err);
-#endif
-#endif
-
if ((xml = switch_xml_open_cfg(cf, &cfg, NULL))) {
switch_xml_t mods, ld;
if ((mods = switch_xml_child(cfg, "modules"))) {
@@ -1980,6 +1971,15 @@
apr_dir_close(module_dir_handle);
}
+ switch_loadable_module_load_module("", "CORE_SOFTTIMER_MODULE", SWITCH_FALSE, &err);
+ switch_loadable_module_load_module("", "CORE_PCM_MODULE", SWITCH_FALSE, &err);
+ switch_loadable_module_load_module("", "CORE_SPEEX_MODULE", SWITCH_FALSE, &err);
+#ifdef SWITCH_HAVE_YUV
+#ifdef SWITCH_HAVE_VPX
+ switch_loadable_module_load_module("", "CORE_VPX_MODULE", SWITCH_FALSE, &err);
+#endif
+#endif
+
switch_loadable_module_runtime();
memset(&chat_globals, 0, sizeof(chat_globals));https://stackoverflow.com/questions/46417430
复制相似问题