This is the VLC media player's developer page.
See the VLC page if you are not willing to develop VLC media player.
As VLC media player evolves really fast, a lot of the documentation and tools information has move to a wiki. Check it out!
VLC media player is a fast changing and ever evolving project. It is very important to keep up to date with the latest developments.
Therefore we advise everyone who makes changes to the VLC sourcecode, to sign up with the vlc-devel Mailinglist so you can keep up with the latest changes and developments.
Please try to keep to our code conventions. They are very simple and help to keep all code readable. When you write new stuff please comment it heavily or add doxygen documentation for your sources.
New code can be submitted to the vlc-devel mailinglist and will be evaluated for inclusion to the Git tree. You should put
[PATCH] in your subject header. All patches need to be against the master head, you could follow those instructions.
Before you start be sure to read the HACKING file in the main VLC source directory, some of the documentation listed below.
Some documentation is still on this website, but since VLC evolves fast, some has been moved to the developers' wiki.
|VLC API documentation||Incomplete||HTML DVI PS||Generated by Doxygen|
|Localization stats & Translations||Up-to-date||HTML Howto - HTML||Clément Stenac Derk-Jan Hartman|
This part of the documentation has been moved to the developers' wiki. This page remains here for compatibility reasons.
|String handling||Up-to-date||Wiki||Derk-Jan Hartman|
|*nix Compile HOWTO||Up-to-date||Wiki||Derk-Jan Hartman Jean-Baptiste Kempf|
|ARM Cross-Compile HOWTO||Incomplete||Wiki||Jean-Paul Saman|
|Win32 Compile HOWTO||Up-to-date||TXT||Gildas Bazin and Olivier Teulière|
|Win32 Cygwin Environment
and Compile HOWTO
|Win32 MSYS/MinGW Environment
|Mac OS X Compile HOWTO||Up-to-date||Wiki||Derk-Jan Hartman|
|BeOS Compile HOWTO||Up-to-date||Wiki||Eric Petit|
|DirectFB plugin Compile HOWTO||Up-to-date||Wiki||Jean-Paul Saman|
Another great start for documentation is the source code.
The best efforts have been done to make it as understandable as
possible. You can also ask questions in the development mailing-list
email@example.com, or try to meet the developers
on IRC (
any Freenode server) if you want to help us but don't know where to
We would very much appreciate if you inform us of any bugs you run into. We would be even happier if you would also fix them.
When making bugreports please beware of our bugreport policy. When you are an experienced user/developer and you are positive that it is a real bug that we are not yet aware of, please file it in Trac.
You'll find roadmaps and todo on Trac.
You'll find a complete list on the wiki.
But, here are the most important libraries.Audio/Video codecs
liba52 - an ATSC A/52 (aka AC3)
libmad - an MPEG audio decoder
libmpeg2 - an MPEG1/2 video decoder
libavcodec (ffmpeg) - an extensive audio/video codec library which supports several formats like MPEG4, H263, WMV/A etc...
libogg - an Ogg bitstream parser
libvorbis - a Vorbis audio decoder
libflac - a FLAC (Free Lossless Audio Codec) audio decoder
libspeex - a Speex (Free speech codec) audio decoder
libtheora - a Theora video decoder
libfaad2 - an AAC audio decoder
libdv - a DV video decoder (deprecated in favor of libavcodec)
libxvidcore (xvid) - an ISO MPEG-4 compliant video codec (deprecated in favor of libavcodec)
libdca - A DTS Coherent Acoustics decoding library.
libsdl - a cross-platform
multimedia library designed to provide level access to audio, and 2D
libdvdcss - a library
for accessing encrypted DVDs
libdvdnav - a library for DVD navigation
libdvdread - a library for reading DVD-Video images
libdvbpsi - a library designed for decoding and generation of MPEG TS and DVB PSI tables
libopenslp - an open-source implementation of Service Location Protocol
gettext - a set of tools that provides a framework to help applications produce multi-lingual messages
libfreetype2 - a software font engine that is designed to be small, efficient, highly customizable and portable while capable of producing high-quality output (glyph images).
fribidi - A Free Implementation of the Unicode Bidirectional Algorithm
liveMedia - C++ libraries for multimedia streaming (RTP/RTCP, RTSP, SIP)
matroska - a new, extensible open standard Audio/Video container format
If you're using those libs to compile VLC for windows with mingw-gcc 3.3.1, you can use our Win32 contribs.