Difference between revisions of "Hacker Guide"
Line 2: | Line 2: | ||
{{VLC}} is a large and complex piece of software. | {{VLC}} is a large and complex piece of software. | ||
− | |||
− | 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. | + | Being open source allows VLC development to benefit from a large community of 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. | 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. | ||
− | + | It will tell you what you need to know about {{VLC}}. | |
+ | |||
+ | ''NB: this guide is '''not''' about compiling VLC.'' | ||
== The many layers of VLC == | == The many layers of VLC == |
Revision as of 19:15, 29 August 2009
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 developers worldwide.
However, the barrier to entry for a project such as VLC media player 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.
It will tell you what you need to know about VLC media player.
NB: this guide is not about compiling 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