QVisu
Qt-based visualization for smart homes
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
LibVLC logging

Typedefs

typedef struct vlc_log_t libvlc_log_t
 
typedef void(* libvlc_log_cb )(void *data, int level, const libvlc_log_t *ctx, const char *fmt, va_list args)
 

Enumerations

enum  libvlc_log_level { LIBVLC_DEBUG =0, LIBVLC_NOTICE =2, LIBVLC_WARNING =3, LIBVLC_ERROR =4 }
 

Functions

LIBVLC_API void libvlc_log_get_context (const libvlc_log_t *ctx, const char **module, const char **file, unsigned *line)
 
LIBVLC_API void libvlc_log_get_object (const libvlc_log_t *ctx, const char **name, const char **header, uintptr_t *id)
 
LIBVLC_API void libvlc_log_unset (libvlc_instance_t *)
 
LIBVLC_API void libvlc_log_set (libvlc_instance_t *, libvlc_log_cb cb, void *data)
 
LIBVLC_API void libvlc_log_set_file (libvlc_instance_t *, FILE *stream)
 
LIBVLC_DEPRECATED LIBVLC_API
unsigned 
libvlc_get_log_verbosity (const libvlc_instance_t *p_instance)
 
LIBVLC_DEPRECATED LIBVLC_API void libvlc_set_log_verbosity (libvlc_instance_t *p_instance, unsigned level)
 
LIBVLC_DEPRECATED LIBVLC_API
libvlc_log_t
libvlc_log_open (libvlc_instance_t *p_instance)
 
LIBVLC_DEPRECATED LIBVLC_API void libvlc_log_close (libvlc_log_t *p_log)
 
LIBVLC_DEPRECATED LIBVLC_API
unsigned 
libvlc_log_count (const libvlc_log_t *p_log)
 
LIBVLC_DEPRECATED LIBVLC_API void libvlc_log_clear (libvlc_log_t *p_log)
 
LIBVLC_DEPRECATED LIBVLC_API
libvlc_log_iterator_t
libvlc_log_get_iterator (const libvlc_log_t *p_log)
 
LIBVLC_DEPRECATED LIBVLC_API void libvlc_log_iterator_free (libvlc_log_iterator_t *p_iter)
 
LIBVLC_DEPRECATED LIBVLC_API int libvlc_log_iterator_has_next (const libvlc_log_iterator_t *p_iter)
 
LIBVLC_DEPRECATED LIBVLC_API
libvlc_log_message_t
libvlc_log_iterator_next (libvlc_log_iterator_t *p_iter, libvlc_log_message_t *p_buf)
 
typedef struct
libvlc_log_iterator_t 
libvlc_log_iterator_t
 
typedef struct libvlc_log_message_t libvlc_log_message_t
 

Detailed Description

libvlc_log_* functions provide access to the LibVLC messages log. This is used for logging and debugging.

Typedef Documentation

typedef void(* libvlc_log_cb)(void *data, int level, const libvlc_log_t *ctx, const char *fmt, va_list args)

Callback prototype for LibVLC log message handler.

Parameters
datadata pointer as given to libvlc_log_set()
levelmessage level (enum libvlc_log_level)
ctxmessage context (meta-informations about the message)
fmtprintf() format string (as defined by ISO C11)
argsvariable argument list for the format
Note
Log message handlers must be thread-safe.
Warning
The message context pointer, the format string parameters and the variable arguments are only valid until the callback returns.

This structure is opaque. It represents a libvlc log iterator

Enumeration Type Documentation

Logging messages level.

Note
Future LibVLC versions may define new levels.
Enumerator
LIBVLC_DEBUG 

Debug message

LIBVLC_NOTICE 

Important informational message

LIBVLC_WARNING 

Warning (potential error) message

LIBVLC_ERROR 

Error message

Function Documentation

LIBVLC_DEPRECATED LIBVLC_API unsigned libvlc_get_log_verbosity ( const libvlc_instance_t p_instance)

Always returns minus one. This function is only provided for backward compatibility.

Parameters
p_instanceignored
Returns
always -1
LIBVLC_DEPRECATED LIBVLC_API void libvlc_log_clear ( libvlc_log_t p_log)

This function does nothing. It is only provided for backward compatibility.

Parameters
p_logignored
LIBVLC_DEPRECATED LIBVLC_API void libvlc_log_close ( libvlc_log_t p_log)

Frees memory allocated by libvlc_log_open().

Parameters
p_loglibvlc log instance or NULL
LIBVLC_DEPRECATED LIBVLC_API unsigned libvlc_log_count ( const libvlc_log_t p_log)

Always returns zero. This function is only provided for backward compatibility.

Parameters
p_logignored
Returns
always zero
LIBVLC_API void libvlc_log_get_context ( const libvlc_log_t ctx,
const char **  module,
const char **  file,
unsigned *  line 
)

Gets debugging informations about a log message: the name of the VLC module emitting the message and the message location within the source code.

The returned module name and file name will be NULL if unknown. The returned line number will similarly be zero if unknown.

Parameters
ctxmessage context (as passed to the libvlc_log_cb callback)
modulemodule name storage (or NULL) [OUT]
filesource code file name storage (or NULL) [OUT]
linesource code file line number storage (or NULL) [OUT]
Warning
The returned module name and source code file name, if non-NULL, are only valid until the logging callback returns.
Version
LibVLC 2.1.0 or later
LIBVLC_DEPRECATED LIBVLC_API libvlc_log_iterator_t* libvlc_log_get_iterator ( const libvlc_log_t p_log)

This function does nothing useful. It is only provided for backward compatibility.

Parameters
p_logignored
Returns
an unique pointer or NULL on error or if the parameter was NULL
LIBVLC_API void libvlc_log_get_object ( const libvlc_log_t ctx,
const char **  name,
const char **  header,
uintptr_t *  id 
)

Gets VLC object informations about a log message: the type name of the VLC object emitting the message, the object header if any and a temporaly-unique object identifier. These informations are mainly meant for manual troubleshooting.

The returned type name may be "generic" if unknown, but it cannot be NULL. The returned header will be NULL if unset; in current versions, the header is used to distinguish for VLM inputs. The returned object ID will be zero if the message is not associated with any VLC object.

Parameters
ctxmessage context (as passed to the libvlc_log_cb callback)
nameobject name storage (or NULL) [OUT]
headerobject header (or NULL) [OUT]
linesource code file line number storage (or NULL) [OUT]
Warning
The returned module name and source code file name, if non-NULL, are only valid until the logging callback returns.
Version
LibVLC 2.1.0 or later
LIBVLC_DEPRECATED LIBVLC_API void libvlc_log_iterator_free ( libvlc_log_iterator_t p_iter)

Frees memory allocated by libvlc_log_get_iterator().

Parameters
p_iterlibvlc log iterator or NULL
LIBVLC_DEPRECATED LIBVLC_API int libvlc_log_iterator_has_next ( const libvlc_log_iterator_t p_iter)

Always returns zero. This function is only provided for backward compatibility.

Parameters
p_iterignored
Returns
always zero
LIBVLC_DEPRECATED LIBVLC_API libvlc_log_message_t* libvlc_log_iterator_next ( libvlc_log_iterator_t p_iter,
libvlc_log_message_t p_buf 
)

Always returns NULL. This function is only provided for backward compatibility.

Parameters
p_iterlibvlc log iterator or NULL
p_bufignored
Returns
always NULL
LIBVLC_DEPRECATED LIBVLC_API libvlc_log_t* libvlc_log_open ( libvlc_instance_t p_instance)

This function does nothing useful. It is only provided for backward compatibility.

Parameters
p_instancelibvlc instance
Returns
an unique pointer or NULL on error
LIBVLC_API void libvlc_log_set ( libvlc_instance_t ,
libvlc_log_cb  cb,
void *  data 
)

Sets the logging callback for a LibVLC instance. This function is thread-safe: it will wait for any pending callbacks invocation to complete.

Parameters
cbcallback function pointer
dataopaque data pointer for the callback function
Note
Some log messages (especially debug) are emitted by LibVLC while is being initialized. These messages cannot be captured with this interface.
Warning
A deadlock may occur if this function is called from the callback.
Parameters
p_instancelibvlc instance
Version
LibVLC 2.1.0 or later
LIBVLC_API void libvlc_log_set_file ( libvlc_instance_t ,
FILE *  stream 
)

Sets up logging to a file.

Parameters
p_instancelibvlc instance
streamFILE pointer opened for writing (the FILE pointer must remain valid until libvlc_log_unset())
Version
LibVLC 2.1.0 or later
LIBVLC_API void libvlc_log_unset ( libvlc_instance_t )

Unsets the logging callback for a LibVLC instance. This is rarely needed: the callback is implicitly unset when the instance is destroyed. This function will wait for any pending callbacks invocation to complete (causing a deadlock if called from within the callback).

Parameters
p_instancelibvlc instance
Version
LibVLC 2.1.0 or later
LIBVLC_DEPRECATED LIBVLC_API void libvlc_set_log_verbosity ( libvlc_instance_t p_instance,
unsigned  level 
)

This function does nothing. It is only provided for backward compatibility.

Parameters
p_instanceignored
levelignored