VLC 加载插件仓库

  1. 首先从  vlc/lib/libvlc_new()入手 :   用于初始化一个libvlc的实例,argc表示参数的个数,argv表示参数,  
  2.                                                 返回创建的实例若当发生错误时返回NULL  
  3. {  
  4.     //vlc/src/libvlc.c  
  5.     libvlc_InternalCreate();  
  6.     libvlc_InternalInit( p_libvlc_int, argc + 1, my_argv ) --->    
  7.             module_InitBank (); ---> //加载模块,  
  8.                 module_InitStatic(vlc_entry__main);  --->  
  9.                     vlc_plugin_describe (entry) --->  
  10.                         entry (vlc_plugin_setter, &module); ---->//加载main()   
  11.                               
  12.                             //libvlc-module.c  
  13.                             vlc_module_begin ()    
  14.                                 set_category( CAT_AUDIO )  
  15.                                 set_subcategory( SUBCAT_AUDIO_GENERAL )  
  16.                                 add_category_hint( N_("Audio"), AOUT_CAT_LONGTEXT , false )  
  17.                                 .......  
  18.                                 .......  
  19.                                 .......  
  20.                             vlc_module_end ()  
  21.                               
  22.                           
  23.                 module_StoreBank();//加入链表  
  24.             config_LoadCmdLine() //解译命令参数  
  25.             module_LoadPlugins(); //加载各个插件模块  




#define CONCATENATE( y, z ) CRUDE_HACK( y, z )
#define CRUDE_HACK( y, z )  y##__##z


#   define __VLC_SYMBOL( symbol )  CONCATENATE( symbol, MODULE_NAME )


#define vlc_module_begin() \
EXTERN_SYMBOL DLL_SYMBOL \
int CDECL_SYMBOL __VLC_SYMBOL(vlc_entry) (vlc_set_cb, void *); \
EXTERN_SYMBOL DLL_SYMBOL \
int CDECL_SYMBOL __VLC_SYMBOL(vlc_entry) (vlc_set_cb vlc_set, void *opaque) \


{ \
    module_t *module; \
    module_config_t *config = NULL; \
    if (vlc_plugin_set (VLC_MODULE_CREATE, &module)) \
        goto error; \
    if (vlc_module_set (VLC_MODULE_NAME, (MODULE_STRING))) \
        goto error;


#define vlc_module_end() \
    (void) config; \
    return 0; \
error: \
    return -1; \
} \
VLC_METADATA_EXPORTS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值