Hacker Guide
Contents
Introduction
VLC media player is a large and complex piece of software. Being open source allows VLC development to benefit from a large community of talented developers worldwide.
However, the barrier to entry for a project such as VLC can be prohibitively expensive for new developers. This guide seeks to reduce the daunting task of understanding the VLC code base by detailing the important interfaces, functions, and variables allowing developers who are unfamiliar with VLC internals to quickly get up to speed.
This will benefit both the individual developer looking to modify VLC to suit his needs, as well as the entire VLC development and user communities by enhancing the stability and promoting the progression of the code base through the "Many Eyes" principle.
- What you need to know about VLC
The many layers of VLC
Core
Plugins / Modules
- Interfaces
- Access
- Access Filters
- Input
- Demux
- Decoder
- Audio Filters
- Video Filters
- Audio Mixers
- Audio Output
- Video Output
- Visualization
- Encoder
- Mux
- Packetizers
- Stream Output
- Access Output
libVLC and bindings
- Using libvlc
- bindings
VLC source code overview
- VLC source tree
- VLC modules (also see Modules source tree )
- VLC Object Management
- VLC Preferences
- VLC Playlist and Media Library
- VLC variables
- Doxygen Documentation
Coding for VLC
Authors
- Derk-Jan Hartman
- Christophe Massiot
- Samuel Hocevar
- Geoffroy Couprie
- JB
Please read the Documentation Editing Guidelines before you edit the documentation