Hacker Guide/Modules source tree

From VideoLAN Wiki
Revision as of 23:01, 2 April 2007 by Ustunozgur (talk | contribs)
Jump to navigation Jump to search
Help VideoLAN by adding to this page!
Create an account to start editing, and then click here to add to this article.

This page lists the content of the Modules directory in the source tree of VLC, aimed at giving new beginners an overview of the code.

 Why Does This Page Exist?
 Well, simply because VLC has evolved with not so much accumulation in mind, 
 and when a new coder looks at the code, s/he is   terrified by the abundance of directories and plugins (271 as of writing!). 
 Please remove this paragraph when done.

The directories are listed in alphabetical order, with an overview of their contents on the right. Any first level subdirectories are shown as well.

Note: This table is by no means exhaustive. Note that only plugins with their own subdirectories are listed; plugins inside the parent directories are not emphasized unless they are too important. A comprehensive list of the plugins VLC makes use of can be found here.

Directory Name Subdirectory Name Directory Explanation
access protocols to access streams through network (http,ftp,fake,tcp,udp etc.), access to physical media like cd's and dvd's
cdda input module to read audio CDs
dshow DirectShow access plugin for encoding cards under Windows
dvb input module for DVB-S/C/T streaming using v4l2 API
mms MMS over TCP, UDP and HTTP access module
rtsp
screen an input module that takes screenshots of the primary monitor
vcd input module for accessing Video CDs.
vcdx input module for accessing Video CDs with navigation & stills
access-filter
access-output
audio-filter
channel-mixer
converter Fixed and floating-point audio format conversions
resampler Various audio resampler
audio-mixer
audio-output
codec This directory includes various codecs, notably ffmpeg which is used for encoding and decoding various formats.
cmml Continuous Media Markup Language annotations/hyperlinks decoder
dmo a DirectMediaObject decoder that uses DirectMedia to decode video (WMV3)
ffmpeg Video decoder using the ffmpeg library
spudec RLE DVD subtitles decoder
xvmc XVMC video output and decoder
control Various interfaces to control the player: gestures, hotkeys, lirc, remote control (rc) and telnet
http HTTP remote control webinterface
demux Various demuxers
asf ASF demuxer
avi AVI File stream demuxer
mp4 MP4 file input module
mpeg
playlist playlist import module???
gui GUI's for different platforms and the ncurses interface
beos Audio output, video output and interface module for BeOS.
macosx Video output, and interface module for Mac OS X.
pda interface for iPaq using the Gtk2+ widget set.
qnx QNX RTOS plugin
qt4 interface module using the cross-platform Qt4 library: Multi-platform. This interface will be the default one upon subsequent releases.
skins2 Skinnable interface, new generation
wince Pocket PC interface
wxwidgets interface module using the cross-platform wxWindows library: Multi-platform. The default interface as of VLC 0.86a.
meta-engine
misc
dummy Dummy (no GUI) audio output, video output, interface and input modules.
memcpy memory chunk copying module.
notify notifications using libnotify
playlist
probe
testsuite
xml LibXML xml parser
mux Various Muxers
mpeg
rtp
packetizer
services-discovery
stream-out
transrate
video-chroma
video-filter
video-output
directx video output module using the DirectX API.
qte video output module for Qt Embedded.video output module using the X11 API.
x11
visualization Several visualizations, including goom
galaktos a visualization module that outputs OpenGL
visual visualisation system