34struct vlc_object_marker;
48 struct vlc_object_marker *
obj;
69#if !defined(__cplusplus)
70# define VLC_OBJECT(x) \
72 struct vlc_object_marker *: (x), \
73 default: (&((x)->obj)) \
111#define vlc_object_delete(obj) vlc_object_delete(VLC_OBJECT(obj))
133#define vlc_object_parent(o) vlc_object_parent(VLC_OBJECT(o))
139#define vlc_object_logger(o) vlc_object_logger(VLC_OBJECT(o))
159#define vlc_object_get_name(obj) var_GetString(obj, "module-name")
161#define vlc_object_create(a,b) vlc_object_create( VLC_OBJECT(a), b )
163#define vlc_object_find_name(a,b) \
164 vlc_object_find_name( VLC_OBJECT(a),b)
177#define vlc_object_instance(o) vlc_object_instance(VLC_OBJECT(o))
192 if (!strcmp(tn,
"audio output"))
194 if (!strcmp(tn,
"video output"))
203 if (!strcmp(tn,
"audio output"))
205 if (!strcmp(tn,
"video output"))
208#define vlc_object_release(o) vlc_object_release(VLC_OBJECT(o))
240#define vlc_obj_malloc(o, s) vlc_obj_malloc(VLC_OBJECT(o), s)
256#define vlc_obj_calloc(o, n, s) vlc_obj_calloc(VLC_OBJECT(o), n, s)
270#define vlc_obj_strdup(o, s) vlc_obj_strdup(VLC_OBJECT(o), s)
283#define vlc_obj_free(o, p) vlc_obj_free(VLC_OBJECT(o), p)
288# include <type_traits>
290#undef vlc_object_create
301 static_assert(std::is_pointer<T>::value ==
false,
"vlc_object_create can only create objects");
#define VLC_USED
Definition: fourcc_gen.c:32
#define VLC_API
Definition: fourcc_gen.c:31
#define VLC_MALLOC
Definition: vlc_common.h:164
#define VLC_DEPRECATED
Definition: vlc_common.h:165
#define vlc_obj_calloc(o, n, s)
Definition: vlc_objects.h:257
#define vlc_obj_malloc(o, s)
Definition: vlc_objects.h:241
#define vlc_obj_free(o, p)
Definition: vlc_objects.h:284
#define vlc_obj_strdup(o, s)
Definition: vlc_objects.h:271
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_objects.h:71
#define vlc_object_create(a, b)
Definition: vlc_objects.h:162
vout_thread_t * vout_Hold(vout_thread_t *vout)
Definition: video_output.c:2080
struct vlc_tracer * vlc_object_get_tracer(vlc_object_t *obj)
Get tracer of a vlc instance from an object.
Definition: objects.c:120
#define vlc_object_release(o)
Definition: vlc_objects.h:209
#define vlc_object_delete(obj)
Definition: vlc_objects.h:112
#define vlc_object_logger(o)
Definition: vlc_objects.h:140
void aout_Release(audio_output_t *aout)
Definition: output.c:434
const char * vlc_object_typename(const vlc_object_t *obj)
Returns the object type name.
Definition: objects.c:110
audio_output_t * aout_Hold(audio_output_t *aout)
Definition: output.c:390
static void * vlc_object_hold(vlc_object_t *o)
Definition: vlc_objects.h:189
size_t vlc_list_children(vlc_object_t *, vlc_object_t **, size_t)
#define vlc_object_parent(o)
Definition: vlc_objects.h:134
#define vlc_object_instance(o)
Definition: vlc_objects.h:178
void vout_Release(vout_thread_t *vout)
Definition: video_output.c:1928
Audio output object.
Definition: vlc_aout.h:155
Definition: vlc_objects.h:91
struct vlc_object_t obj
Definition: vlc_objects.h:92
Definition: messages.c:85
Definition: variables.h:36
VLC object common members.
Definition: vlc_objects.h:45
struct vlc_logger * logger
Definition: vlc_objects.h:46
struct vlc_object_marker * obj
Definition: vlc_objects.h:49
bool no_interact
Definition: vlc_objects.h:52
bool force
Module probe flag.
Definition: vlc_objects.h:59
struct vlc_object_internals * priv
Definition: vlc_objects.h:48
Video output thread descriptor.
Definition: vlc_vout.h:55
This file is a collection of common definitions and types.