VLC  4.0.0-dev
Modules | Files | Data Structures | Macros | Functions
Collaboration diagram for VLC objects:


 VLC object variables and callbacks.


file  vlc_objects.h
 Common VLC object defintions.

Data Structures

struct  vlc_common_members
 VLC object common members. More...
struct  vlc_object_t
 The main vlc_object_t structure. More...
struct  libvlc_int_t


#define VLC_OBJECT(x)
 Type-safe vlc_object_t cast. More...
#define OBJECT_FLAGS_QUIET   0x0002
#define vlc_object_get_name(o)   vlc_object_get_name(VLC_OBJECT(o))
#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_hold(a)   vlc_object_hold( VLC_OBJECT(a) )
#define vlc_object_release(a)   vlc_object_release( VLC_OBJECT(a) )
#define vlc_list_children(a)   vlc_list_children( VLC_OBJECT(a) )


void * vlc_object_create (vlc_object_t *, size_t)
 Allocates and initializes a vlc object. More...
vlc_object_tvlc_object_find_name (vlc_object_t *, const char *)
 Finds a named object and increment its reference count. More...
void * vlc_object_hold (vlc_object_t *)
 Increment an object reference counter. More...
void vlc_object_release (vlc_object_t *)
 Drops a reference to an object (decrements the reference count). More...
vlc_list_tvlc_list_children (vlc_object_t *)
 Gets the list of children of an object, and increment their reference count. More...
void vlc_list_release (vlc_list_t *)
char * vlc_object_get_name (const vlc_object_t *)
void * vlc_obj_malloc (vlc_object_t *, size_t)
void * vlc_obj_calloc (vlc_object_t *, size_t, size_t)
char * vlc_obj_strdup (vlc_object_t *, const char *)
void vlc_obj_free (vlc_object_t *, void *)

Detailed Description

Macro Definition Documentation




#define OBJECT_FLAGS_QUIET   0x0002

◆ vlc_list_children

#define vlc_list_children (   a)    vlc_list_children( VLC_OBJECT(a) )


#define VLC_OBJECT (   x)

◆ vlc_object_create

#define vlc_object_create (   a,
)    vlc_object_create( VLC_OBJECT(a), b )

◆ vlc_object_find_name

#define vlc_object_find_name (   a,
)    vlc_object_find_name( VLC_OBJECT(a),b)

◆ vlc_object_get_name

#define vlc_object_get_name (   o)    vlc_object_get_name(VLC_OBJECT(o))

◆ vlc_object_hold

#define vlc_object_hold (   a)    vlc_object_hold( VLC_OBJECT(a) )

◆ vlc_object_release

#define vlc_object_release (   a)    vlc_object_release( VLC_OBJECT(a) )

Referenced by addons_manager_WriteCatalog(), aout_Destroy(), aout_FiltersPipelineDestroy(), aout_New(), aout_volume_Delete(), AppendFilter(), ControlNav(), CreateDecoder(), CreateFilter(), DecoderProcessFlush(), DecoderQueueSpu(), DeleteDecoder(), DeleteEncoder(), DeleteFilter(), demux_PacketizerDestroy(), demux_PacketizerNew(), filter_chain_AppendInner(), filter_chain_DeleteFilter(), filter_DeleteBlend(), FilterRelease(), FinderThread(), fingerprinter_Create(), fingerprinter_Destroy(), httpd_HostCreate(), httpd_HostDelete(), input_Close(), input_CreateAndStart(), input_GetVout(), input_item_WriteMeta(), input_Read(), input_vaControl(), InputSourceDestroy(), InputSourceMeta(), InputSourceNew(), installOrRemoveAddon(), intf_Create(), intf_DestroyAll(), InvokeModule(), keystore_create(), libvlc_InternalDestroy(), LoadLocalStorage(), PlayItem(), playlist_Destroy(), playlist_EnableAudioFilter(), playlist_Export(), playlist_Import(), playlist_MLLoad(), playlist_MuteGet(), playlist_MuteSet(), playlist_VolumeGet(), playlist_VolumeSet(), playlist_VolumeUp(), se_Release(), sout_AccessOutDelete(), sout_AccessOutNew(), sout_DeleteInstance(), sout_MuxDelete(), sout_MuxNew(), sout_NewInstance(), sout_StreamDelete(), spu_Destroy(), spu_new_buffer(), stream_CommonDelete(), update_Delete(), update_Download(), video_splitter_Delete(), ViewpointApply(), vlc_gl_Create(), vlc_gl_Release(), vlc_inhibit_Create(), vlc_inhibit_Destroy(), vlc_keystore_release(), vlc_LogDeinit(), vlc_probe(), vlc_rd_new(), vlc_rd_release(), vlc_readdir_helper_init(), vlc_sd_Destroy(), vlc_stream_fifo_Close(), vlc_strfinput(), vlc_tls_ClientCreate(), vlc_tls_Delete(), vlc_tls_ServerCreate(), vlm_ControlMediaAdd(), vlm_Delete(), vlm_MediaInstanceDelete(), vlm_New(), vout_CloseAndRelease(), vout_display_Delete(), vout_display_New(), vout_window_Delete(), vout_window_New(), VoutCreate(), xml_Create(), xml_Delete(), xml_ReaderCreate(), and xml_ReaderDelete().

Function Documentation

◆ vlc_list_children()

vlc_list_t* vlc_list_children ( vlc_object_t obj)

Gets the list of children of an object, and increment their reference count.

a list (possibly empty) or NULL in case of error.

References count, vlc_list_t::i_count, vlc_object_internals::next, vlc_value_t::p_address, vlc_list_t::p_values, unlikely, vlc_alloc(), vlc_externals, vlc_internals, vlc_mutex_lock(), vlc_mutex_unlock(), and vlc_object_hold().

◆ vlc_list_release()

void vlc_list_release ( vlc_list_t )

◆ vlc_obj_calloc()

void* vlc_obj_calloc ( vlc_object_t ,
size_t  ,

◆ vlc_obj_free()

void vlc_obj_free ( vlc_object_t ,
void *   

References ptrcmp(), and vlc_objres_remove().

◆ vlc_obj_malloc()

void* vlc_obj_malloc ( vlc_object_t ,

◆ vlc_obj_strdup()

char* vlc_obj_strdup ( vlc_object_t ,
const char *   

References vlc_obj_memdup().

◆ vlc_object_create()

void* vlc_object_create ( vlc_object_t p_this,
size_t  i_size 

Allocates and initializes a vlc object.

i_sizeobject byte size
the new object, or NULL on error.

References vlc_custom_create().

◆ vlc_object_find_name()

vlc_object_t* vlc_object_find_name ( vlc_object_t p_this,
const char *  psz_name 

Finds a named object and increment its reference count.

Beware that objects found in this manner can be "owned" by another thread, be of any type, and be attached to any module (if any). With such an object reference, you can set or get object variables, emit log messages, and read write-once object parameters (obj.object_type, etc). You CANNOT cast the object to a more specific object type, and you definitely cannot invoke object type-specific callbacks with this.

p_thisobject to search from
psz_namename of the object to search for
a matching object (must be released by the caller), or NULL on error.

References FindName(), msg_Err, name_lock, vlc_mutex_lock(), and vlc_mutex_unlock().

◆ vlc_object_get_name()

char* vlc_object_get_name ( const vlc_object_t )

◆ vlc_object_hold()

void* vlc_object_hold ( vlc_object_t )

Increment an object reference counter.

References vlc_object_internals::refs, and vlc_internals.

Referenced by FindName(), ObjectExists(), VarsCommand(), vlc_custom_create(), and vlc_list_children().

◆ vlc_object_release()

void vlc_object_release ( vlc_object_t obj)