FreeSWITCH 加載模塊過程解讀


今天來學習FreeSWITCH 加載模塊過程。

哪些模塊需要編譯,是由源碼下的 modules.conf 文件決定的。

哪些模塊在程序啟動時自動加載,是由 freeswitch/conf/autoload_configs/modules.conf.xml  決定的。

switch.c--main()

----> switch_core.c --switch_core_init_and_modload()

---->switch_loadable_module.c  --switch_loadable_module_init()

---->switch_loadable_module.c  --switch_loadable_module_load_module_ex(最底層的加載函數)

 

#define SWITCH_MODULE_LOAD_FUNCTION(name) switch_status_t name SWITCH_MODULE_LOAD_ARGS

#define SWITCH_MODULE_LOAD_ARGS (switch_loadable_module_interface_t **module_interface, switch_memory_pool_t *pool)

SWITCH_MODULE_LOAD_FUNCTION(mod_tts_commandline_load)

等價於:

unsigned int  mod_tts_commandline_load  (switch_loadable_module_interface_t **module_interface, switch_memory_pool_t *pool)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM