1.vlc.c 只是入口程序
2.Libvlc.c 是各个模块的结合点,这要是对接口编程
- Vlc_Create(): 两个重要的数据结构:libvlc_t & vlc_t , 所有的参数传递都在这里面
- Vlc_Init(): 初始化参数, module_bank
- Vlc_AddInf(): 添加module
3./src/misc/configure.c 命令行参数和参数文件分析
参数文件是~/.vnc/vlcrc。其中可以设置log文件的位置
4./include/ 所有头文件的集合
5./src/interface/Interface.h 所有module的集合
6./src/misc/Modules.c
其中module_t * __module_Need( vlc_object_t *p_this, const char *psz_capability,
const char *psz_name, vlc_bool_t b_strict ) 方法是寻找合适的interface
如果找到合适的,就调用AllocatePlugin()动态的分配一个。
7.how to link to different modules without OOP