Analyse and explore vlc
VLC Media Player Architecture - An introduction

This page provides a quick VLC architecture overview. Follow the links for a deeper exploration.

VLC Application, Core Library, Modules

The VLC Media player is made of:

More information can be found on the VLC developer site.

User interfaces

Several VLC user interfaces are available, implemented by dedicated modules.

libVLCcore creates the interface: see intf_Create in interface.c.

Modules (Plugins)

Each module belongs to a category (main and sub): these categories are defined in vlc_plugin.h: Interface, Audio, Video, Input, Output, Advanced, Playlist.

More importantly, a module exposes capabilities (described by a string) associated to a score (module priority), like 'interface', 'decoder', 'audio output'. See Videolan wiki for details.

Starting VLC and playing a media file

The following sequence is indicative.

Generated by PFA software prototype