2017-01-24 06:40
⁄ 工业·编程
⁄ 共 9216字
模块的加载
模块的加载分为两部分:模块的初始化,模块的加载。
模块的初始化
libvlc_new 函数初始化
libvlc_InternalInit函数调用module_InitBank ()初始化一个成员为module_t的结构体链表。
libvlc_InternalInit 调用module_LoadPlugins会加载进现有的modules。
module_LoadPlugins 调用module_InitStaticModules函数从vlc_static_modules数组中开始加载,vlc_static_modules保存的是每个modules的入口的函数指针。
vlc_stati...
VLC, 源码阅读全文
2017-01-17 06:27
⁄ 工业·编程
⁄ 共 708字
VLC虽然是用c代码实现的,但是在代码编写上遵循了面向对象原则,易修改和扩展。不过实话实说,结构之间的关联太过于频繁,理解上还是不太容易。如果能够改成c++那是最好不过了。
对于媒体播放器,肯定离不开解复用,解码,音频和视频输出这四个模块,不管是DirectShow,还是VLC,或者自己要开发一个播放器,都是如此。媒体播放器的差异主要存在于模块之间的通信方式,界面消息处理上。Di...
VLC, 源码阅读全文
2017-01-10 06:22
⁄ 工业·编程
⁄ 共 1285字
首先,附上vlc的官方链接
官网 http://www.videolan.org/
官网的wiki https://wiki.videolan.org/
源码下载 http://www.videolan.org/vlc/download-sources.html
vlc是一个开源的视频解决方案,几乎包括了所有的视频,音频,字幕,图片(是的,你没看错,vlc也支持图片解码,如jpeg,png等等都有支持,打开源码...
VLC, 源码阅读全文
2017-01-03 06:20
⁄ 工业·编程
⁄ 共 5383字
文章目录
一、 VLC简介
一、 VLC简介
VLC的全名是VideoLan Client,是一个开源的、跨平台的视频播放器。VLC支持大量的音视频传输、封装和编码格式,完整的功能特性列表可以在这里获得http://www.videolan.org/vlc/features.html,下面给出一个简要的不完整的列表:
操作系统:Windows、WinCE、Linux、MacOSX、BEOS、BSD
访问形式:文件、DVD/VCD/CD、http、ftp、mms、TC...
VLC, 源码阅读全文
2016-12-29 06:15
⁄ 工业·编程
⁄ 共 2235字
一般情况下,播放一个音视频分为4个步骤
1、access访问
2、demux解复用
3、decode解码
4、output输出
access:访问
可以理解为接收、获取、得到数据资源,包括解析访问源(url),
使用http协议,rtsp协议,ftp协议,建立连接,获取数据。
demux:解复用
就是把通常合在一起的音频和视频分离,当然也有可能有字幕。通过分析数据包头来判断是什么数据文件,需要用什么解码格式。
为什么需要demux
其实之所以需要demux,是因为音...
VLC, 源码阅读全文
2016-12-22 22:30
⁄ 工业·编程
⁄ 共 5208字
Linux 上可用的 C 编译器是 GNU C 编译器,它建立在自由软件基金会的编程许可证的基础上,因此可以自由发布。 GNU C 对标准 C 进行一系列扩展,以增强标准 C 的功能。
1. 零长度和变量长度数组 一般不这样用
GNU C 允许使用零长度数组,在定义变长对象的头结构时,这个特性非常有用。例如:
struct var_data {
int len;
char data[0];
};
char data[0] 仅 仅 意 味 着 程 序 中 通 过 var_data 结 构 体 实 例 的 data[in...
c标准, 差别阅读全文
2016-12-15 06:55
⁄ 工业·编程
⁄ 共 357字
Boost.GIL:通用图像库
CImg :用于图像处理的小型开源C++工具包
CxImage :用于加载,保存,显示和转换的图像处理和转换库,可以处理的图片格式包括 BMP, JPEG, GIF, PNG, TIFF, MNG, ICO, PCX, TGA, WMF, WBMP, JBG, J2K。
FreeImage :开源库,支持现在多媒体应用所需的通用图片格式和其他格式。
GDCM:Grassroots DICOM 库
ITK:跨平台的开源图像分析系统
Magick++:ImageMagick程序的C++接口
MagickWnd:ImageMagick程序...
c++, 开源阅读全文
2016-12-08 06:51
⁄ 工业·编程
⁄ 共 407字
CEGUI : 很灵活的跨平台GUI库
FLTK :快速,轻量级的跨平台的C++GUI工具包。
GTK+: 用于创建图形用户界面的跨平台工具包
gtkmm :用于受欢迎的GUI库GTK+的官方C++接口。
imgui:拥有最小依赖关系的立即模式图形用户界面
libRocket :libRocket 是一个C++ HTML/CSS 游戏接口中间件
MyGUI :快速,灵活,简单的GUI
Ncurses:终端用户界面
QCustomPlot :没有更多依赖关系的Qt绘图控件
Qwt :用户与技术应用的Qt 控件
QwtPlot3D...
c++, 开源阅读全文
2016-12-01 06:50
⁄ 工业·编程
⁄ 共 144字
Cocos2d-x :一个跨平台框架,用于构建2D游戏,互动图书,演示和其他图形应用程序。
Grit :社区项目,用于构建一个免费的游戏引擎,实现开放的世界3D游戏。
Irrlicht :C++语言编写的开源高性能的实时#D引擎
Polycode:C++实现的用于创建游戏的开源框架(与Lua绑定)。
c++, 开源阅读全文
2016-11-25 06:49
⁄ 工业·编程
⁄ 共 315字
调试库, 内存和资源泄露检测,单元测试
Boost.Test:Boost测试库
Catch:一个很时尚的,C++原生的框架,只包含头文件,用于单元测试,测试驱动开发和行为驱动开发。
CppUnit:由JUnit移植过来的C++测试框架
CTest:CMake测试驱动程序
googletest:谷歌C++测试框架
ig-debugheap:用于跟踪内存错误的多平台调试堆
libtap:用C语言编写测试
MemTrack —用于C++跟踪内存分配
microprofile- 跨平台的网络试图分析器
minUnit :使用...
c++, 开源阅读全文