本节介绍VLC源代码目录树结构,以期使开发者对源代码的分布结构有一个整体的认识。下面的目录按照字母顺序列出,右边为该目录包含的内容描述。
目录名称 |
说明 |
---|---|
bindings |
Java, CIL 和Python绑定 |
doc |
帮助文档 (不是更新的) |
extras |
另叙。 |
include |
VLC 头文件 |
libs |
SRTP库和装载库 |
lxdialog |
制作 menuconfig的文件 |
m4 |
Automake和autoconf的宏文件 |
modules |
除了src目录外最重要的目录。参考“功能模块目录树”一节 |
po |
i18n (语言翻译)文件 |
projects |
建立在 libvlc的项目,如Mozilla插件,ActiveX 插件和MacOS X Framework |
share |
图标,脚本等等 |
src |
除了功能模块以外最重要的目录。 |
test |
一些脚本或测试代码 |
extras 的内容
extras/analyser |
一些代码风格编辑器 (vim,emacs)的宏 和一些valgrindsuppressions |
extras/buildsystem |
可选的编译系统 |
extras/contrib |
需要的库文件 (包括Makefiles自动下载和编译(或交叉编译),补丁)。 |
extras/deprecated |
deprecated 文件 |
extras/misc |
未分类文件 |
extras/package |
用于软件发布的文件如ipkg,不同的 rpm 规范文件,win32和Mac OS X安装文件。 |
功能模块目录树
目录名称 |
子目录 |
说明 |
---|---|---|
access |
|
通过网络获取视频流的协议(http,ftp,fake,tcp,udp等),获取物理媒体介质的媒体内容如cd,dvd。 |
|
cdda |
读取CD音频的输入模块 |
|
dshow |
DirectShow获取插件,用于WINDOWS平台下的编码卡。 |
|
dvb |
使用V4L2API的输入模块,用于DVB-S/C/T媒体流。 |
|
mms |
基于TCP,UDP的MMS和HTTP获取模块 |
|
rtsp |
|
|
screen |
获取屏幕图像的输入模块。 |
|
vcd |
获取VCD数据的输入模块。 |
|
vcdx |
获取VCD输入模块,可以导航,静止 |
|
|
|
access-filter |
|
包含下面的滤波器:timeshift, record, dump |
|
|
|
access-output |
|
|
|
|
|
audio-filter |
|
各种音频滤波器如解码,均衡,转换。 |
|
channel-mixer |
各种混合器,解码器如 Dolby解码器 |
|
converter |
定点或浮点音频格式转换如 AC/3,MPEG I-II 音频层1,2, 3 解码 |
|
resampler |
各种音频重采样模块 |
|
|
|
audio-mixer |
|
混合器插件 |
|
|
|
audio-output |
|
音频输出插件如ALSA,OSS和 DirectX音频 |
|
|
|
codec |
|
各种编解码,特别是ffmpeg |
|
cmml |
持续媒体标记语言,脚本/超链接解释器 |
|
dmo |
一个DirectMediaObject解码器,利用DirectMedia对WMV3视频解码 |
|
ffmpeg |
ffmpeg 库的视频解码器 |
|
spudec |
RLE DVD 小标题解码 |
|
xvmc |
XVMC视频输出和解码 |
|
|
|
control |
|
控制播放器的各种接口:手势, 热键,lirc,远程控制和telnet |
|
http |
HTTP远程控制 |
|
|
|
demux |
|
不同的解复用程序 |
|
asf |
ASF 解复器 |
|
avi |
AVI文件流解复器 |
|
mp4 |
MP4文件输入模块 |
|
mpeg |
|
|
playlist |
播放清单导入模块 |
|
|
|
gui |
|
不同平台的用户界面和 ncurses接口 |
|
beos |
用于BeOS的音频输出,视频输出和用户界面输出。 |
|
macosx |
Mac OS X 视频输出和用户界面模块 |
|
pda |
iPaq用户接口,使用Gtk2+widget集. |
|
qnx |
QNX RTOS 插件 |
|
qt4 |
使用Qt4库交叉编译的用户界面模块。该模块是默认的界面库 |
|
skins2 |
换夫模块。 |
|
wince |
Pocket PC 接口 |
|
wxwidgets |
使用wxWindows库跨平台的接口。作为默认的接口的VLC版本是0.86a. |
|
|
|
meta-engine |
|
|
|
|
|
misc |
|
|
|
dummy |
哑 (没有GUI)音频输出,视频输出,用户接口和输入模块。 |
|
memcpy |
内存快拷贝模块 |
|
notify |
通知,使用libnotify |
|
playlist |
|
|
probe |
|
|
testsuite |
|
|
xml |
LibXML 和 xtagxml 解析 |
|
|
|
mux |
Various Muxers |
|
|
mpeg |
|
|
rtp |
|
packetizer |
|
打包模块,用于H264/AVC和MPEG 4音视频流。 |
|
|
|
services-discovery |
|
|
|
|
|
stream-out |
|
|
|
transrate |
|
|
|
|
video-chroma |
|
图像格式转换,如 YUV到 RGB |
|
|
|
video-filter |
|
各种视频滤波模块如Deinterlace,Transform, Wall, Crop, Panoramix 等等。 |
|
|
|
video-output |
|
|
|
directx |
WINDOWS视频输出模块,使用Direct3D和Direct X API,OpenGL |
|
qte |
QT嵌入式视频输出模块 |
|
x11 |
X11 API视频输出模块 |
|
|
|
visualization |
|
多种可视化模块,包括goom |
|
galaktos |
输出到 OpenGL的可视化模块 |
|
visual |
可视化系统 |