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_t * | vlc_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_t * | vlc_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 OBJECT_FLAGS_NOINTERACT 0x0004 |
Referenced by dialog_Login(), dialog_ProgressCreate(), dialog_Question(), and dialog_VFatal().
| #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) ) |
Referenced by access_GetParentInput(), demux_GetParentInput(), dialog_GetProvider(), EsOutControlLocked(), FindName(), HoldVout(), HoldVouts(), input_DecoderGetObjects(), input_resource_GetAout(), input_resource_HoldAout(), playlist_CurrentInput(), sout_AnnounceRegisterSDP(), vlc_custom_create(), and vlc_list_children().
| #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().
| vlc_list_t* vlc_list_children | ( | vlc_object_t * | obj | ) |
Gets the list of children of an objects, and increment their reference count.
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 * | ) |
References vlc_list_t::i_count, vlc_value_t::p_object, vlc_list_t::p_values, and vlc_object_release.
Referenced by ObjectKillChildrens().
| bool vlc_object_alive | ( | vlc_object_t * | obj | ) |
This function returns true, except when it returns false.
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.
| i_size | object byte size |
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.
| p_this | object to search from | |
| psz_name | name of the object to search for |
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 * | ) |
References name, name_lock, vlc_object_internals::psz_name, strdup(), vlc_internals, vlc_mutex_lock(), and vlc_mutex_unlock().
| 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 | ) |
Drops a reference to an object (decrements the reference count).
If the count reaches zero, the object is destroyed.
References vlc_object_internals::first, libvlc_lock(), libvlc_unlock(), likely, vlc_object_internals::next, vlc_object_t::p_libvlc, vlc_object_t::p_parent, vlc_object_internals::prev, vlc_object_internals::refs, vlc_internals, vlc_object_destroy(), vlc_object_release, vlc_restorecancel(), and vlc_savecancel().
1.7.1