|
VLC 4.0.0-dev
|
Topics | |
| Object resources | |
| The object resource functions tie resource allocation to an instance of a module through a VLC object. | |
| Variables | |
| VLC object variables and callbacks. | |
Files | |
| file | vlc_objects.h |
| Common VLC object definitions. | |
Data Structures | |
| struct | vlc_object_t |
| VLC object common members. More... | |
| struct | libvlc_int_t |
Macros | |
| #define | VLC_OBJECT(x) |
| Type-safe vlc_object_t cast. | |
| #define | vlc_object_delete(obj) |
| #define | vlc_object_parent(o) |
| #define | vlc_object_logger(o) |
| #define | vlc_object_get_name(obj) |
| Tries to get the name of module bound to an object. | |
| #define | vlc_object_create(a, b) |
| #define | vlc_object_find_name(a, b) |
| #define | vlc_object_instance(o) |
| #define | vlc_object_release(o) |
Functions | |
| void * | vlc_object_create (vlc_object_t *parent, size_t i_size) |
| Allocates and initializes a vlc object. | |
| void | vlc_object_delete (vlc_object_t *obj) |
| Drops the strong reference to an object. | |
| size_t | vlc_list_children (vlc_object_t *, vlc_object_t **, size_t) |
| const char * | vlc_object_typename (const vlc_object_t *obj) |
| Returns the object type name. | |
| vlc_object_t * | vlc_object_parent (vlc_object_t *obj) |
| Gets the parent of an object. | |
| static struct vlc_logger * | vlc_object_logger (vlc_object_t *obj) |
| struct vlc_tracer * | vlc_object_get_tracer (vlc_object_t *obj) |
| Get tracer of a vlc instance from an object. | |
| static libvlc_int_t * | vlc_object_instance (vlc_object_t *obj) |
| vout_thread_t * | vout_Hold (vout_thread_t *vout) |
| void | vout_Release (vout_thread_t *vout) |
| audio_output_t * | aout_Hold (audio_output_t *aout) |
| void | aout_Release (audio_output_t *aout) |
| static void * | vlc_object_hold (vlc_object_t *o) |
| static void | vlc_object_release (vlc_object_t *o) |
| #define VLC_OBJECT | ( | x | ) |
Type-safe vlc_object_t cast.
This macro attempts to cast a pointer to a compound type to a vlc_object_t pointer in a type-safe manner. It checks if the compound type actually starts with an embedded vlc_object_t structure.
Referenced by aout_Destroy(), aout_filter_GetVout(), aout_stream_tracer(), ConvertRGBAAndBlend(), DecoderWaitUnblock(), DelFilterCallbacks(), demux_FilterNew(), demux_Probe(), Destroy(), EsOutCreateDecoder(), EsOutSetRecord(), filter_AddProxyCallbacks(), filter_DelProxyCallbacks(), filter_HoldDecoderDevice(), filter_HoldDecoderDeviceType(), GetTracer(), GetUpdateFile(), input_Create(), input_EsOutNew(), input_ExtractAttachmentAndCacheArt(), InputDemuxNew(), libvlc_GetMainPlaylist(), libvlc_InternalActionsInit(), libvlc_InternalInit(), libvlc_InternalKeystoreInit(), libvlc_InternalPlay(), libvlc_MlCreate(), main(), OpenURL(), PrerenderPicture(), RequestVoutRsc(), sout_StreamDelete(), spu_Create(), SpuRenderCreateAndLoadText(), stream_AccessNew(), stream_CheckReady(), StreamExtractorAttach(), SubFilterAddProxyCallbacks(), SubFilterDelProxyCallbacks(), SubSourceDelProxyCallbacks(), update_DownloadReal(), vlc_aout_stream_New(), vlc_decoder_device_Create(), vlc_decoder_device_Release(), vlc_demux_chained_Thread(), vlc_encoder_Destroy(), vlc_gl_Create(), vlc_gl_Delete(), vlc_gl_start(), vlc_input_decoder_CreateSubDec(), vlc_LogInit(), vlc_LogModuleClose(), vlc_LogModuleCreate(), vlc_LogPreinit(), vlc_LogSet(), vlc_mta_acquire(), vlc_mta_release(), vlc_player_GetObject(), vlc_player_GetV4l2Object(), vlc_player_New(), vlc_rtp_mux_request(), vlc_tls_ClientCreate(), vlc_tls_ClientDelete(), vlc_tls_ServerCreate(), vlc_tls_ServerDelete(), vlc_tracer_Create(), vlc_tracer_Destroy(), vlc_window_Delete(), vlc_window_New(), vlc_window_start(), vlm_MediaInstanceNew(), vlm_New(), vout_Close(), vout_display_Delete(), vout_display_New(), vout_display_window_New(), vout_GetSnapshot(), vout_OpenWrapper(), vout_OSDEpg(), vout_Release(), vout_Start(), vout_UpdateSourceCrop(), VoutConverterCreate(), VoutGetDisplayCfg(), and VoutSnapshotPip().
| #define vlc_object_create | ( | a, | |
| b ) |
Referenced by main(), vlc_object_create(), and vlc_readdir_helper_init().
| #define vlc_object_delete | ( | obj | ) |
Referenced by addons_manager_WriteCatalog(), aout_Destroy(), aout_filter_Create(), aout_New(), aout_volume_Delete(), CreateDecoder(), decoder_Destroy(), DeleteConverter(), demux_PacketizerDestroy(), demux_PacketizerNew(), Destroy(), filter_chain_AppendInner(), filter_chain_DeleteFilter(), FinderThread(), fingerprinter_Create(), fingerprinter_Destroy(), httpd_HostCreate(), httpd_HostDelete(), input_item_WriteMeta(), InputSourceMeta(), installOrRemoveAddon(), intf_Create(), intf_DestroyAll(), InvokeModule(), keystore_create(), libvlc_InternalDestroy(), libvlc_MlCreate(), libvlc_MlRelease(), LoadLocalStorage(), main(), ReleaseObject(), se_Release(), sout_AccessOutDelete(), sout_AccessOutNew(), sout_MuxDelete(), sout_MuxNew(), sout_StreamDelete(), spu_Create(), spu_Destroy(), SpuRenderCreateAndLoadScale(), SpuRenderCreateAndLoadText(), stream_AccessNew(), stream_CommonDelete(), update_Delete(), update_Download(), video_splitter_Delete(), vlc_decoder_device_Create(), vlc_decoder_device_Release(), vlc_encoder_Destroy(), vlc_filter_Delete(), vlc_gl_Create(), vlc_gl_CreateOffscreen(), vlc_gl_Delete(), vlc_inhibit_Create(), vlc_inhibit_Destroy(), vlc_keystore_release(), vlc_LogModuleClose(), vlc_LogModuleCreate(), vlc_object_delete(), vlc_player_Delete(), vlc_player_New(), vlc_playlist_Export(), vlc_probe(), vlc_rd_new(), vlc_rd_release(), vlc_readdir_helper_init(), vlc_sd_Destroy(), vlc_tls_ClientCreate(), vlc_tls_ClientDelete(), vlc_tls_ServerCreate(), vlc_tls_ServerDelete(), vlc_tracer_Create(), vlc_tracer_Destroy(), vlc_window_Delete(), vlc_window_New(), vlm_Delete(), vlm_New(), vout_Create(), vout_display_Delete(), vout_display_New(), vout_Release(), xml_Create(), xml_Delete(), xml_ReaderCreate(), and xml_ReaderDelete().
| #define vlc_object_find_name | ( | a, | |
| b ) |
| #define vlc_object_get_name | ( | obj | ) |
Tries to get the name of module bound to an object.
| #define vlc_object_instance | ( | o | ) |
Referenced by AddIntfCallback(), get_dialog_provider(), get_memory_keystore(), on_player_state_changed(), update_DownloadReal(), update_New(), vlc_actions_get_key_names(), vlc_dialog_release(), vlc_intf_GetMainPlaylist(), vlc_ml_instance_get(), vlc_mta_acquire(), vlc_mta_release(), vlc_object_get_tracer(), vlc_player_UpdateMLStates(), vlm_Delete(), vout_display_window_KeyboardEvent(), and VoutSaveSnapshot().
| #define vlc_object_logger | ( | o | ) |
Referenced by ChangeFilters(), DecoderThread_ProcessInput(), demux_NewAdvanced(), EsOutProgramAdd(), rtp_ac3_open(), rtp_mpeg12_open(), vlc_decoder_device_Create(), vlc_gl_Create(), vlc_gl_CreateOffscreen(), vlc_LogModuleCreate(), vlc_rtp_pt_instantiate(), vlc_tracer_Create(), vlc_window_New(), vout_ChangeSource(), and vout_display_New().
| #define vlc_object_parent | ( | o | ) |
| #define vlc_object_release | ( | o | ) |
| audio_output_t * aout_Hold | ( | audio_output_t * | aout | ) |
References aout_owner(), aout_owner_t::rc, and vlc_atomic_rc_inc().
Referenced by input_resource_HoldAout(), and vlc_object_hold().
| void aout_Release | ( | audio_output_t * | aout | ) |
References aout_Destroy(), aout_owner(), aout_owner_t::rc, and vlc_atomic_rc_dec().
Referenced by input_resource_PutAout(), input_resource_Release(), input_resource_ResetAout(), ViewpointApply(), vlc_object_release(), vlc_player_AddMetadataLoudnessListener(), vlc_player_aout_AddCallbacks(), vlc_player_aout_DelCallbacks(), vlc_player_aout_EnableFilter(), vlc_player_aout_GetVolume(), vlc_player_aout_IncrementVolume(), vlc_player_aout_IsMuted(), vlc_player_aout_Mute(), vlc_player_aout_SetVolume(), vlc_player_RemoveMetadataLoudnessListener(), and vlc_strfplayer().
| size_t vlc_list_children | ( | vlc_object_t * | , |
| vlc_object_t ** | , | ||
| size_t | ) |
| void * vlc_object_create | ( | vlc_object_t * | parent, |
| size_t | i_size ) |
Allocates and initializes a vlc object.
The object will need to be released with vlc_object_release() before parent is released.
| parent | A parent object to create the new object from |
| i_size | object byte size |
References vlc_custom_create, and vlc_object_create.
| void vlc_object_delete | ( | vlc_object_t * | obj | ) |
Drops the strong reference to an object.
This removes the initial strong reference to a given object. This must be called exactly once per allocated object after it is no longer needed, matching vlc_object_create() or vlc_custom_create().
References vlc_object_deinit(), and vlc_object_delete.
| struct vlc_tracer * vlc_object_get_tracer | ( | vlc_object_t * | obj | ) |
Get tracer of a vlc instance from an object.
References libvlc_priv(), libvlc_priv_t::tracer, and vlc_object_instance.
Referenced by aout_stream_tracer(), DecoderThread_DecodeBlock(), DecoderWaitUnblock(), EsOutProgramAdd(), EsOutSend(), EsOutVaControlLocked(), EsOutVaPrivControlLocked(), GetTracer(), ModuleThread_QueueAudio(), ModuleThread_QueueSpu(), ModuleThread_QueueVideo(), sout_ClockMainCreate(), and vlc_input_decoder_DecodeWithStatus().
|
inlinestatic |
References aout_Hold(), VLC_DEPRECATED, vlc_object_typename(), and vout_Hold().
Referenced by vlc_list_children().
|
inlinestatic |
References vlc_object_parent.
|
inlinestatic |
References vlc_object_t::logger.
| vlc_object_t * vlc_object_parent | ( | vlc_object_t * | obj | ) |
Gets the parent of an object.
References vlc_internals, and vlc_object_parent.
|
inlinestatic |
References aout_Release(), vlc_object_typename(), and vout_Release().
| const char * vlc_object_typename | ( | const vlc_object_t * | obj | ) |
Returns the object type name.
This returns a nul-terminated string identifying the object type. The string is valid for at least as long as the object reference.
| obj | object whose type name to get |
References vlc_internals.
Referenced by vlc_object_hold(), vlc_object_release(), and vlc_object_vaLog().
| vout_thread_t * vout_Hold | ( | vout_thread_t * | vout | ) |
References vout_thread_sys_t::rc, vlc_atomic_rc_inc(), and VOUT_THREAD_TO_SYS.
Referenced by DeleteDecoder(), input_resource_HoldDummyVout(), input_resource_HoldVout(), input_resource_HoldVouts(), and vlc_object_hold().
| void vout_Release | ( | vout_thread_t * | vout | ) |
References vout_thread_sys_t::dec_device, vout_thread_sys_t::decoder_fifo, vout_thread_sys_t::display_cfg, vout_thread_sys_t::dummy, vout_display_cfg::icc_profile, vout_thread_sys_t::original, picture_fifo_Delete(), vout_thread_sys_t::rc, vout_thread_sys_t::snapshot, vout_thread_sys_t::splitter_name, vout_thread_sys_t::statistic, video_format_Clean(), vlc_atomic_rc_dec(), vlc_decoder_device_Release(), VLC_OBJECT, vlc_object_delete, vout_display_window_Delete(), vout_snapshot_Destroy(), vout_statistic_Clean(), VOUT_THREAD_TO_SYS, vout_display_cfg::window, and vout_thread_sys_t::window_enabled.
Referenced by DeleteDecoder(), input_resource_Release(), ModuleThread_NewSpuBuffer(), ViewpointApply(), vlc_object_release(), vlc_player_input_NavigationFallback(), vlc_player_input_RestoreMlStates(), vlc_player_osd_ReleaseAll(), vlc_player_vout_IsFullscreen(), vlc_player_vout_IsWallpaperModeEnabled(), vlc_player_vout_SetVar(), vlc_player_vout_TriggerOption(), and vout_Close().