Introduction
libVLC is an embeddable engine for 3rd party applications and frameworks.
It runs on the same platforms as VLC (and sometimes on more) and can provide playback, streaming and conversion of multimedia files and streams.
libVLC has numerous bindings for other languages, such as C++, Python, java, Objective-C and C#.
The generated documentation can be browsed from here.
License
libVLC is released under the LGPLv2 (or later) license. This allows embedding the engine in 3rd party applications, while letting them to be licensed under other licenses.
However, note that some plugins are under more restrictive licenses, such as GPLv3 (or later).
Example
10int main(
int argc,
char* argv[])
12 (void) argc; (void) argv;
37 int64_t seconds = milliseconds / 1000;
38 int64_t minutes = seconds / 60;
39 milliseconds -= seconds * 1000;
40 seconds -= minutes * 60;
42 printf(
"Current time: %" PRId64
":%" PRId64
":%" PRId64
"\n",
43 minutes, seconds, milliseconds);
struct libvlc_instance_t libvlc_instance_t
This structure is opaque.
Definition libvlc.h:76
libvlc_instance_t * libvlc_new(int argc, const char *const *argv)
Create and initialize a libvlc instance.
void libvlc_release(libvlc_instance_t *p_instance)
Decrement the reference count of a libvlc instance, and destroy it if it reaches zero.
struct libvlc_media_t libvlc_media_t
Definition libvlc_events.h:47
This file defines libvlc new external API.