vlc播放流程分析--1

本文详细分析了VLC播放器在Windows环境下2.2.0版本的启动流程,包括CPU性能检测、命令行参数处理、libvlc_instance_t实例创建、模块加载与配置解析,以及hotkeys接口插件的创建与启动。在初始化过程中,VLC进行线程系统初始化,加载核心模块和外部插件,创建播放列表,并启动相关线程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文基于windows下的vlc,vlc版本为2.2.0。

1、 cpu性能检测:

    该功能在加载libvlccore.dll时由系统调用该动态库的DllMain()(/src/win32/thread.c,该函数再调用vlc_CPU_Init())执行的,即发生在WinMain()函数执行之前,加载vlc.exe的依赖库时。通过dumpbin工具查看vlc.exe,可知vlc.exe依赖于libvlc.dll;同样可知,libvlc.dll依赖于libvlccore.dll。


2、获取命令行参数:

    获取命令行参数,并在命令行参数中添加如下几个参数:"--media-library","--stats","--no-ignore-config"。


3、调用libvlc_new()创建一个libvlc(libvlc_instance_t)实例:

    1. 调用libvlc_threads_init()初始化线程系统;

    2. 调用vlc_custom_create(libvlc_InternalCreate())创建一个libvlc_int_t对象;

        从vlc_custom_create()可以看出,实际创建的是vlc_object_internal_t和libvlc_priv_t两个连在一起的对象,返回的是libvlc_priv_t中的libvlc_int_t对象的指针:

vlc_object_internal_t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值