VLC 4.0.0-dev
vlc_objects.h File Reference

Common VLC object definitions. More...

Include dependency graph for vlc_objects.h:

Go to the source code of this file.

Data Structures

struct  vlc_object_t
 VLC object common members. More...
 
struct  libvlc_int_t
 

Macros

#define VLC_OBJECT(x)
 Type-safe vlc_object_t cast. More...
 
#define vlc_object_delete(obj)   vlc_object_delete(VLC_OBJECT(obj))
 
#define vlc_object_parent(o)   vlc_object_parent(VLC_OBJECT(o))
 
#define vlc_object_logger(o)   vlc_object_logger(VLC_OBJECT(o))
 
#define vlc_object_get_name(obj)   var_GetString(obj, "module-name")
 Tries to get the name of module bound to an object. More...
 
#define vlc_object_create(a, b)   vlc_object_create( VLC_OBJECT(a), b )
 
#define vlc_object_find_name(a, b)    vlc_object_find_name( VLC_OBJECT(a),b)
 
#define vlc_object_instance(o)   vlc_object_instance(VLC_OBJECT(o))
 
#define vlc_object_release(o)   vlc_object_release(VLC_OBJECT(o))
 
#define vlc_obj_malloc(o, s)   vlc_obj_malloc(VLC_OBJECT(o), s)
 
#define vlc_obj_calloc(o, n, s)   vlc_obj_calloc(VLC_OBJECT(o), n, s)
 
#define vlc_obj_strdup(o, s)   vlc_obj_strdup(VLC_OBJECT(o), s)
 
#define vlc_obj_free(o, p)   vlc_obj_free(VLC_OBJECT(o), p)
 

Functions

void * vlc_object_create (_Generic((vlc_object_t *) ->obj, struct vlc_object_marker *:(vlc_object_t *), default:(&((vlc_object_t *) ->obj))), size_t i_size)
 Allocates and initializes a vlc object. More...
 
void vlc_object_delete (_Generic((vlc_object_t *obj) ->obj, struct vlc_object_marker *:(vlc_object_t *obj), default:(&((vlc_object_t *obj) ->obj))))
 Drops the strong reference to an object. More...
 
size_t vlc_list_children (vlc_object_t *, vlc_object_t **, size_t)
 
const char * vlc_object_typename (const vlc_object_t *obj)
 Returns the object type name. More...
 
vlc_object_tvlc_object_parent (_Generic((vlc_object_t *obj) ->obj, struct vlc_object_marker *:(vlc_object_t *obj), default:(&((vlc_object_t *obj) ->obj))))
 Gets the parent of an object. More...
 
static struct vlc_loggervlc_object_logger (_Generic((vlc_object_t *obj) ->obj, struct vlc_object_marker *:(vlc_object_t *obj), default:(&((vlc_object_t *obj) ->obj))))
 
struct vlc_tracervlc_object_get_tracer (vlc_object_t *obj)
 Get tracer of a vlc instance from an object. More...
 
static libvlc_int_tvlc_object_instance (_Generic((vlc_object_t *obj) ->obj, struct vlc_object_marker *:(vlc_object_t *obj), default:(&((vlc_object_t *obj) ->obj))))
 
vout_thread_tvout_Hold (vout_thread_t *vout)
 
void vout_Release (vout_thread_t *vout)
 
audio_output_taout_Hold (audio_output_t *aout)
 
void aout_Release (audio_output_t *aout)
 
static void * vlc_object_hold (vlc_object_t *o)
 
static void vlc_object_release (_Generic((vlc_object_t *o) ->obj, struct vlc_object_marker *:(vlc_object_t *o), default:(&((vlc_object_t *o) ->obj))))
 
void * vlc_obj_malloc (_Generic((vlc_object_t *obj) ->obj, struct vlc_object_marker *:(vlc_object_t *obj), default:(&((vlc_object_t *obj) ->obj))), size_t size)
 Allocates memory for a module. More...
 
void * vlc_obj_calloc (_Generic((vlc_object_t *obj) ->obj, struct vlc_object_marker *:(vlc_object_t *obj), default:(&((vlc_object_t *obj) ->obj))), size_t nmemb, size_t size)
 Allocates a zero-initialized table for a module. More...
 
char * vlc_obj_strdup (_Generic((vlc_object_t *obj) ->obj, struct vlc_object_marker *:(vlc_object_t *obj), default:(&((vlc_object_t *obj) ->obj))), const char *str)
 Duplicates a string for a module. More...
 
void vlc_obj_free (_Generic((vlc_object_t *obj) ->obj, struct vlc_object_marker *:(vlc_object_t *obj), default:(&((vlc_object_t *obj) ->obj))), void *ptr)
 Manually frees module memory. More...
 

Detailed Description

Common VLC object definitions.