VLC  2.2.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Modules | Data Structures | Typedefs | Functions
LibVLC core
LibVLC

Before it can do anything useful, LibVLC must be initialized. More...

Collaboration diagram for LibVLC core:

Modules

 LibVLC error handling
 LibVLC asynchronous events
 LibVLC emits asynchronous events.
 LibVLC logging
 libvlc_log_* functions provide access to the LibVLC messages log.

Data Structures

struct  libvlc_module_description_t
 Description of a module. More...

Typedefs

typedef struct
libvlc_module_description_t 
libvlc_module_description_t
 Description of a module.

Functions

libvlc_instance_tlibvlc_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.
void libvlc_retain (libvlc_instance_t *p_instance)
 Increments the reference count of a libvlc instance.
int libvlc_add_intf (libvlc_instance_t *p_instance, const char *name)
 Try to start a user interface for the libvlc instance.
void libvlc_set_exit_handler (libvlc_instance_t *p_instance, void(*cb)(void *), void *opaque)
 Registers a callback for the LibVLC exit event.
void libvlc_wait (libvlc_instance_t *p_instance)
 Waits until an interface causes the instance to exit.
void libvlc_set_user_agent (libvlc_instance_t *p_instance, const char *name, const char *http)
 Sets the application name.
void libvlc_set_app_id (libvlc_instance_t *p_instance, const char *id, const char *version, const char *icon)
 Sets some meta-information about the application.
const char * libvlc_get_version (void)
 Retrieve libvlc version.
const char * libvlc_get_compiler (void)
 Retrieve libvlc compiler version.
const char * libvlc_get_changeset (void)
 Retrieve libvlc changeset.
void libvlc_free (void *ptr)
 Frees an heap allocation returned by a LibVLC function.
void libvlc_module_description_list_release (libvlc_module_description_t *p_list)
 Release a list of module descriptions.
libvlc_module_description_tlibvlc_audio_filter_list_get (libvlc_instance_t *p_instance)
 Returns a list of audio filters that are available.
libvlc_module_description_tlibvlc_video_filter_list_get (libvlc_instance_t *p_instance)
 Returns a list of video filters that are available.
typedef struct libvlc_instance_t libvlc_instance_t
 This structure is opaque.
typedef int64_t libvlc_time_t

Detailed Description

Before it can do anything useful, LibVLC must be initialized.

You can create one (or more) instance(s) of LibVLC in a given process, with libvlc_new() and destroy them with libvlc_release().

Version
Unless otherwise stated, these functions are available from LibVLC versions numbered 1.1.0 or more. Earlier versions (0.9.x and 1.0.x) are not compatible.

Typedef Documentation

This structure is opaque.

It represents a libvlc instance

Description of a module.

typedef int64_t libvlc_time_t

Function Documentation

int libvlc_add_intf ( libvlc_instance_t p_instance,
const char *  name 
)

Try to start a user interface for the libvlc instance.

Parameters
p_instancethe instance
nameinterface name, or NULL for default
Returns
0 on success, -1 on error.
libvlc_module_description_t* libvlc_audio_filter_list_get ( libvlc_instance_t p_instance)

Returns a list of audio filters that are available.

Parameters
p_instancelibvlc instance
Returns
a list of module descriptions. It should be freed with libvlc_module_description_list_release(). In case of an error, NULL is returned.
See Also
libvlc_module_description_t
libvlc_module_description_list_release
void libvlc_free ( void *  ptr)

Frees an heap allocation returned by a LibVLC function.

If you know you're using the same underlying C run-time as the LibVLC implementation, then you can call ANSI C free() directly instead.

Parameters
ptrthe pointer
const char* libvlc_get_changeset ( void  )

Retrieve libvlc changeset.

Example: "aa9bce0bc4"

Returns
a string containing the libvlc changeset
const char* libvlc_get_compiler ( void  )

Retrieve libvlc compiler version.

Example: "gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu6)"

Returns
a string containing the libvlc compiler version
const char* libvlc_get_version ( void  )

Retrieve libvlc version.

Example: "1.1.0-git The Luggage"

Returns
a string containing the libvlc version
void libvlc_module_description_list_release ( libvlc_module_description_t p_list)

Release a list of module descriptions.

Parameters
p_listthe list to be released
libvlc_instance_t* libvlc_new ( int  argc,
const char *const *  argv 
)

Create and initialize a libvlc instance.

This functions accept a list of "command line" arguments similar to the main(). These arguments affect the LibVLC instance default configuration.

Version
Arguments are meant to be passed from the command line to LibVLC, just like VLC media player does. The list of valid arguments depends on the LibVLC version, the operating system and platform, and set of available LibVLC plugins. Invalid or unsupported arguments will cause the function to fail (i.e. return NULL). Also, some arguments may alter the behaviour or otherwise interfere with other LibVLC functions.
Warning
There is absolutely no warranty or promise of forward, backward and cross-platform compatibility with regards to libvlc_new() arguments. We recommend that you do not use them, other than when debugging.
Parameters
argcthe number of arguments (should be 0)
argvlist of arguments (should be NULL)
Returns
the libvlc instance or NULL in case of error
void libvlc_release ( libvlc_instance_t p_instance)

Decrement the reference count of a libvlc instance, and destroy it if it reaches zero.

Parameters
p_instancethe instance to destroy
void libvlc_retain ( libvlc_instance_t p_instance)

Increments the reference count of a libvlc instance.

The initial reference count is 1 after libvlc_new() returns.

Parameters
p_instancethe instance to reference
void libvlc_set_app_id ( libvlc_instance_t p_instance,
const char *  id,
const char *  version,
const char *  icon 
)

Sets some meta-information about the application.

See also libvlc_set_user_agent().

Parameters
p_instanceLibVLC instance
idJava-style application identifier, e.g. "com.acme.foobar"
versionapplication version numbers, e.g. "1.2.3"
iconapplication icon name, e.g. "foobar"
Version
LibVLC 2.1.0 or later.
void libvlc_set_exit_handler ( libvlc_instance_t p_instance,
void(*)(void *)  cb,
void *  opaque 
)

Registers a callback for the LibVLC exit event.

This is mostly useful if the VLC playlist and/or at least one interface are started with libvlc_playlist_play() or libvlc_add_intf() respectively. Typically, this function will wake up your application main loop (from another thread).

Note
This function should be called before the playlist or interface are started. Otherwise, there is a small race condition: the exit event could be raised before the handler is registered.
Parameters
p_instanceLibVLC instance
cbcallback to invoke when LibVLC wants to exit, or NULL to disable the exit handler (as by default)
opaquedata pointer for the callback
Warning
This function and libvlc_wait() cannot be used at the same time.
void libvlc_set_user_agent ( libvlc_instance_t p_instance,
const char *  name,
const char *  http 
)

Sets the application name.

LibVLC passes this as the user agent string when a protocol requires it.

Parameters
p_instanceLibVLC instance
namehuman-readable application name, e.g. "FooBar player 1.2.3"
httpHTTP User Agent, e.g. "FooBar/1.2.3 Python/2.6.0"
Version
LibVLC 1.1.1 or later
libvlc_module_description_t* libvlc_video_filter_list_get ( libvlc_instance_t p_instance)

Returns a list of video filters that are available.

Parameters
p_instancelibvlc instance
Returns
a list of module descriptions. It should be freed with libvlc_module_description_list_release(). In case of an error, NULL is returned.
See Also
libvlc_module_description_t
libvlc_module_description_list_release
void libvlc_wait ( libvlc_instance_t p_instance)

Waits until an interface causes the instance to exit.

You should start at least one interface first, using libvlc_add_intf().

Parameters
p_instancethe instance
Warning
This function wastes one thread doing basically nothing. libvlc_set_exit_handler() should be used instead.