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 |
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 | |
►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 |
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 |