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_kill(a)   vlc_object_kill( VLC_OBJECT(a) )
#define vlc_object_alive(a)   vlc_object_alive( VLC_OBJECT(a) )

Functions

VLC_API void * vlc_object_create (vlc_object_t *, size_t) VLC_MALLOC VLC_USED
 Allocates and initializes a vlc object.
VLC_API vlc_object_tvlc_object_find_name (vlc_object_t *, const char *) VLC_USED VLC_DEPRECATED
 Finds a named object and increment its reference count.
VLC_API void * vlc_object_hold (vlc_object_t *)
 Increment an object reference counter.
VLC_API void vlc_object_release (vlc_object_t *)
 Drops a reference to an object (decrements the reference count).
VLC_API vlc_list_tvlc_list_children (vlc_object_t *) VLC_USED
 Gets the list of children of an objects, and increment their reference count.
VLC_API void vlc_list_release (vlc_list_t *)
VLC_API char * vlc_object_get_name (const vlc_object_t *) VLC_USED
VLC_API void vlc_object_kill (vlc_object_t *) VLC_DEPRECATED
 Requests termination of an object, cancels the object thread, and make the object wait pipe (if it exists) readable.
VLC_USED static VLC_DEPRECATED bool vlc_object_alive (const vlc_object_t *obj)

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_kill (   a  )     vlc_object_kill( VLC_OBJECT(a) )
#define vlc_object_release (   a  )     vlc_object_release( VLC_OBJECT(a) )

Referenced by access_Delete(), access_New(), ACL_Destroy(), aout_Destroy(), aout_EnableFilter(), aout_FiltersDestroyPipeline(), aout_InputNew(), aout_MixerDelete(), aout_MixerNew(), cancelVolume(), commitVolume(), CreateDecoder(), 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(), findAout(), FindArt(), FindFilter(), httpd_HostCreate(), httpd_HostDelete(), input_CreateAndStart(), input_GetVout(), input_item_WriteMeta(), input_Preparse(), input_Read(), input_Release(), InputSourceMeta(), intf_Create(), intf_DestroyAll(), libvlc_InternalCleanup(), libvlc_InternalDestroy(), osd_MenuDelete(), PlayItem(), playlist_Destroy(), playlist_Export(), ReleaseAout(), 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_ClientDelete(), vlc_tls_ServerCreate(), vlc_tls_ServerDelete(), 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(), WaitPreparsed(), xml_Create(), xml_Delete(), xml_ReaderCreate(), xml_ReaderDelete(), and xml_ReaderReset().


Function Documentation

VLC_API 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_value_t::p_object, vlc_list_t::p_values, vlc_externals, vlc_internals, and vlc_object_hold.

VLC_API void vlc_list_release ( vlc_list_t  ) 
VLC_USED static VLC_DEPRECATED bool vlc_object_alive ( const vlc_object_t obj  )  [inline, static]

References barrier().

VLC_API 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_API 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_internals, vlc_mutex_lock(), and vlc_mutex_unlock().

VLC_API char* vlc_object_get_name ( const vlc_object_t  ) 
VLC_API void* vlc_object_hold ( vlc_object_t  ) 
VLC_API void vlc_object_kill ( vlc_object_t p_this  ) 

Requests termination of an object, cancels the object thread, and make the object wait pipe (if it exists) readable.

Not a cancellation point.

References msg_Dbg, pipe_lock, vlc_object_internals::pipes, vlc_internals, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_restorecancel(), and vlc_savecancel().

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