| Read-Copy-Update synchronisation | The Read-Copy-Update (RCU) mechanism is a paradigm of memory synchronisation first popularised by the Linux kernel |
| ▼LibVLC | LibVLC is the external programming interface of the VLC media player |
| ▼LibVLC core | Before it can do anything useful, LibVLC must be initialized |
| LibVLC error handling | |
| LibVLC asynchronous events | LibVLC emits asynchronous events |
| LibVLC logging | Libvlc_log_* functions provide access to the LibVLC messages log |
| LibVLC time | These functions provide access to the LibVLC time/clock |
| LibVLC dialog | |
| LibVLC media | libvlc_media_t is an abstract representation of a playable media |
| LibVLC media discovery | LibVLC media discovery finds available media via various means |
| LibVLC media list | A LibVLC media list holds multiple libvlc_media_t media descriptors |
| LibVLC media list player | The LibVLC media list player plays a libvlc_media_list_t list of media, in a certain order |
| ▼LibVLC media player | A LibVLC media player plays one media (usually in a custom drawable) |
| LibVLC video controls | |
| LibVLC audio controls | |
| LibVLC media player time watch API | |
| LibVLC media player concurrency API | |
| LibVLC media track | libvlc_media_track_t is an abstract representation of a media track |
| LibVLC renderer discoverer | LibVLC renderer discoverer finds available renderers available on the local network |
| Audio filters | |
| ▼VLC plug-in programming interface | |
| ▼C programming language extensions | This section defines a number of macros and inline functions extending the C language |
| Error codes | |
| ►Integer operations | Common integer functions |
| Bit operations | |
| Overflowing arithmetic | |
| Linked lists | |
| Linked lists (C++ wrappers) | |
| In-memory byte streams | In-memory byte stream are a portable wrapper for in-memory formatted output byte streams |
| ►Thread-safe queues (FIFO) | |
| Queue internals | Low-level queue functions |
| Killable queues | Thread-safe queues with an end flag |
| ►String helpers | |
| ►Character sets | |
| iconv wrappers | (defined in src/extras/libc.c) |
| C/POSIX locale functions | |
| Uniform Resource Locator (URL) | |
| Vector | |
| ▼Operating system | |
| ►File system | |
| File descriptors | |
| Directories | |
| ►Keystore and credential API | |
| Keystore public API | |
| Credential API | |
| Implemented by keystore modules | |
| ►Logging | Message logs |
| Logger | Message log back-end |
| ►Networking | |
| Internet sockets | |
| ►Transport layer sockets | Network stream abstraction |
| ►Transport Layer Security | |
| TLS client | |
| TLS server | |
| ►HTTP | Hyper-Text Transfer Protocol |
| ►Connection manager | HTTP connection management |
| ►Connections | HTTP connections |
| HTTP/1.x | |
| ►HTTP/2.0 | |
| HTTP/2 frames | |
| HTTP/2 output | |
| HPACK compression | HTTP/2 header compression (HPACK) |
| Streams | HTTP request/response streams |
| Messages | HTTP messages, header formatting and parsing |
| Output files | HTTP write-only files |
| ►Resources | Remote HTTP resources identified by a URL |
| Files | HTTP read-only files |
| Live streams | Trivial HTTP-based live streams |
| ►RTP | Real-time Transport Protocol |
| RTP payload formats | RTP is a somewhat simplistic protocol to carry multiplexed and timestamped data over an unreliable network |
| RTP session | |
| Session Description Protocol | |
| Poll implementations | |
| Process management | |
| ►Threads and synchronization primitives | |
| ►Interruptible sleep | |
| Interruptible sleep functions | |
| Interrupt context signaling and manipulation | |
| Mutual exclusion locks | |
| Condition variables | The condition variable is the most common and generic mean for threads to wait for events triggered by other threads |
| Semaphores | The semaphore is the simplest thread synchronization primitive, consisting of a simple counter |
| Latches | The latch is a downward counter used to synchronise threads |
| Thread-specific variables | |
| Asynchronous/threaded timers | |
| ►Tracer module and API | Functions for modules to emit traces |
| Tracer Module implementation | |
| Tracer API | |
| Tracer helper functions | |
| ▼Input | Input thread |
| ►Ancillary | Ancillary that can be attached to any vlc_frame_t or picture_t |
| Ancillary API | |
| Ancillary array API | |
| Ancillary IDs and data | |
| Blocks | Blocks of binary data |
| Decoder | Audio, video and text decoders |
| Decoder hardware device | |
| ►Demultiplexer | Demultiplexers (file format parsers) |
| Chained demultiplexer | Demultiplexers wrapped by another demultiplexer |
| ES output | Elementary streams output |
| ►Frames | Frames of binary data |
| Frame chain | |
| Block FIFO | Thread-safe block queue functions |
| Media source | |
| ►Player | VLC Player API |
| Player instance | |
| Playback control | |
| Title and chapter control | |
| Program control | |
| Tracks control | |
| Tracks synchronisation (delay) | |
| Teletext control | |
| External renderer control | |
| Metadata callbacks | |
| Audio output control | |
| Video output control | |
| Player events | |
| Player timer | |
| Preparser | |
| Replay Gain | Functions to read replay gain tags |
| ►Stream | Buffered input byte streams |
| ►Access | Raw input byte streams |
| Access Helpers | |
| FIFO stream | In-memory anonymous pipe |
| ►Stream Extractor | If a stream can be viewed as a directory, such as when opening a compressed archive, a stream-extractor is used to get access to the entities inside said stream |
| Stream Extractor Internals | |
| Timestamps, error-free | These functions support generating timestamps without long term rounding errors due to sample rate conversions |
| ▼Interface | VLC user interfaces |
| User settings | VLC provides a simple name-value dictionary for user settings |
| ►VLC dialog | |
| VLC dialog functions | In order to interact with the user |
| VLC dialog callbacks | Need to be implemented by GUI modules or libvlc |
| VLC extension dialog functions | |
| Interaction | Interaction between user and modules |
| ►VLC playlist | A VLC playlist contains a list of "playlist items" |
| Playlist randomizer helper | Playlist helper to manage random playback |
| ►VLC renderer discovery | |
| VLC renderer items returned by the discovery | |
| VLC renderer discovery interface | |
| VLC renderer module | |
| Software updates | Over-the-air VLC software updates |
| VLM | VLC stream manager |
| ▼VLC objects | |
| Object resources | The object resource functions tie resource allocation to an instance of a module through a VLC object |
| ►Variables | VLC object variables and callbacks |
| Variable types | These are the different types a vlc variable can have |
| Additive flags | These flags are added to the type field of the variable |
| Variable actions | These are the different actions that can be used with var_Change() |
| ▼Output | |
| ►Audio output | |
| Audio output modules | |
| Audio formats | |
| Audio meter API | |
| Audio output volume | |
| ►Filters | Audio, video, text filters |
| ►Chroma conversion probing | |
| Chroma probing API | |
| Chroma probing module implementation | |
| Generic picture API | |
| ►Stream output | |
| Encoder | Audio, video and text encoders |
| Access output | Raw output byte streams |
| Multiplexer | Multiplexers (file formatters) |
| ►Video output | Video rendering, output and window management |
| ►Sub-picture channels | |
| On-screen display | |
| Video sub-pictures | Subpictures are pictures that should be displayed on top of the video, like subtitles and OSD |
| ►Video output display | Video output display: output buffers and rendering |
| Video alignment | |
| ►Video window | Window management |
| Window event reporting | Window provider event reporting |
| ▼Hash functions | APIs for simple and frequently used hash algorithms in VLC |
| Helper functions | Functions commonly used together with hashing functions |
| MD5 hashing | APIs to hash data using the Message-Digest Algorithm 5 (MD5) |
| ▼Media Resource Locator (MRL) | The MRL-specification is a VLC intrinsic extension to RFC3986, providing means to associate extra media-related information within the resource-identifier |
| MRL helpers | Helper functions related to parsing, as well as generating, data related to the MRL-specification |