Data Structures | Defines | Functions

Objects

Data Structures

struct  vlc_object_t
 The main vlc_object_t structure. More...

Defines

#define OBJECT_FLAGS_QUIET   0x0002
#define OBJECT_FLAGS_NOINTERACT   0x0004
#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) )
#define vlc_object_alive(a)   vlc_object_alive( VLC_OBJECT(a) )

Functions

void * vlc_object_create (vlc_object_t *, size_t)
 Allocates and initializes a vlc object.
vlc_object_tvlc_object_find_name (vlc_object_t *, const char *)
 Finds a named object and increment its reference count.
void * vlc_object_hold (vlc_object_t *)
 Increment an object reference counter.
void vlc_object_release (vlc_object_t *)
 Drops a reference to an object (decrements the reference count).
vlc_list_tvlc_list_children (vlc_object_t *)
 Gets the list of children of an objects, and increment their reference count.
void vlc_list_release (vlc_list_t *)
char * vlc_object_get_name (const vlc_object_t *)
bool vlc_object_alive (vlc_object_t *)
 This function returns true, except when it returns false.

Define Documentation

#define OBJECT_FLAGS_NOINTERACT   0x0004
#define OBJECT_FLAGS_QUIET   0x0002

Referenced by Create(), and vlc_vaLog().

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

Referenced by ObjectKillChildrens().

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

}@

Referenced by vlm_MediaInstanceNew().

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

Referenced by DumpCommand(), and var_Command().

#define vlc_object_get_name (   o  )     vlc_object_get_name(VLC_OBJECT(o))
#define vlc_object_hold (   a  )     vlc_object_hold( VLC_OBJECT(a) )
#define vlc_object_release (   a  )     vlc_object_release( VLC_OBJECT(a) )

Referenced by access_Delete(), access_New(), aout_Destroy(), aout_FiltersNew(), aout_FiltersPipelineDestroy(), aout_New(), aout_volume_Delete(), CreateDecoder(), CreateFilter(), DecoderProcessSpu(), DeleteDecoder(), DeleteEncoder(), DeleteFilter(), demux_Delete(), demux_New(), demux_PacketizerDestroy(), demux_PacketizerNew(), dialog_ExtensionUpdate(), dialog_Login(), dialog_ProgressCreate(), dialog_Question(), dialog_VFatal(), DumpCommand(), FetchMeta(), filter_chain_AppendFilterInternal(), filter_chain_DeleteFilterInternal(), filter_DeleteBlend(), FilterRelease(), FindArt(), FindFilter(), httpd_HostCreate(), httpd_HostDelete(), input_CreateAndStart(), input_GetVout(), input_item_WriteMeta(), input_Preparse(), input_Read(), input_Release(), input_resource_PutAout(), InputSourceMeta(), intf_Create(), intf_DestroyAll(), IPCHelperThread(), libvlc_InternalCleanup(), libvlc_InternalDestroy(), PlayItem(), playlist_Destroy(), playlist_EnableAudioFilter(), playlist_Export(), playlist_MuteGet(), playlist_MuteSet(), playlist_VolumeGet(), playlist_VolumeSet(), playlist_VolumeUp(), SAP_Destroy(), sout_AccessOutDelete(), sout_AccessOutNew(), sout_AnnounceRegisterSDP(), sout_AnnounceUnRegister(), sout_DeleteInstance(), sout_InputNew(), sout_MuxDelete(), sout_MuxNew(), sout_NewInstance(), sout_StreamDelete(), spu_del_buffer(), spu_Destroy(), spu_new_buffer(), sql_Create(), sql_Destroy(), str_format_meta(), stream_CommonDelete(), stream_CommonNew(), system_Configure(), system_End(), var_Command(), video_splitter_Delete(), vlc_gl_Create(), vlc_gl_Destroy(), vlc_inhibit_Create(), vlc_inhibit_Destroy(), vlc_list_release(), vlc_object_release(), vlc_probe(), vlc_sd_Destroy(), vlc_tls_ClientCreate(), vlc_tls_Delete(), vlc_tls_ServerCreate(), vlc_tls_SessionCreate(), vlc_tls_SessionDelete(), vlm_ControlMediaAdd(), vlm_ControlMediaInstanceStart(), 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(), xml_ReaderDelete(), and xml_ReaderReset().


Function Documentation

vlc_list_t* vlc_list_children ( vlc_object_t obj  ) 

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

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

References count, libvlc_lock(), libvlc_unlock(), likely, NewList(), vlc_object_internals::next, vlc_object_t::p_libvlc, vlc_value_t::p_object, vlc_list_t::p_values, vlc_externals, vlc_internals, and vlc_object_hold.

void vlc_list_release ( vlc_list_t  ) 
bool vlc_object_alive ( vlc_object_t obj  ) 

This function returns true, except when it returns false.

Warning:
Do not use this function. Ever. You were warned.

References vlc_object_internals::alive, and vlc_internals.

void* vlc_object_create ( vlc_object_t p_this,
size_t  i_size 
)

Allocates and initializes a vlc object.

Parameters:
i_size object byte size
Returns:
the new object, or NULL on error.

References vlc_custom_create.

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 (psz_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.

Parameters:
p_this object to search from
psz_name name of the object to search for
Returns:
a matching object (must be released by the caller), or NULL on error.

References FindName(), libvlc_lock(), libvlc_unlock(), msg_Err, name_lock, vlc_object_t::p_libvlc, vlc_internals, vlc_mutex_lock(), and vlc_mutex_unlock().

char* vlc_object_get_name ( const vlc_object_t  ) 
void* vlc_object_hold ( vlc_object_t  ) 

Increment an object reference counter.

References vlc_object_internals::refs, and vlc_internals.

void vlc_object_release ( vlc_object_t p_this  ) 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines