VLC
4.0.0-dev
|
Go to the source code of this file.
Data Structures | |
struct | vlc_atomic_rc_t |
Typedefs | |
typedef struct vlc_atomic_rc_t | vlc_atomic_rc_t |
Functions | |
static void | vlc_atomic_rc_init (vlc_atomic_rc_t *rc) |
Init the RC to 1. More... | |
static void | vlc_atomic_rc_inc (vlc_atomic_rc_t *rc) |
Increment the RC. More... | |
static bool | vlc_atomic_rc_dec (vlc_atomic_rc_t *rc) |
Decrement the RC and return true if it reaches 0. More... | |
static uintptr_t | vlc_atomic_rc_get (const vlc_atomic_rc_t *rc) |
Returns the current reference count. More... | |
Atomic operations do not require locking, but they are not very powerful.
typedef struct vlc_atomic_rc_t vlc_atomic_rc_t |
|
inlinestatic |
Decrement the RC and return true if it reaches 0.
References vlc_atomic_rc_t::refs, and vlc_assert.
Referenced by addon_entry_Release(), aout_Release(), EsRelease(), input_item_Release(), input_resource_Release(), input_source_Release(), picture_pool_Destroy(), picture_Release(), vlc_decoder_device_Release(), vlc_gl_Release(), vlc_input_attachment_Release(), vlc_media_source_Release(), vlc_media_tree_Release(), vlc_player_title_list_Release(), vlc_playlist_item_Release(), vlc_renderer_item_release(), vlc_video_context_Release(), and vout_Release().
|
inlinestatic |
Returns the current reference count.
This is not safe to use for logic and must only be used for debugging or assertion purposes
References vlc_atomic_rc_t::refs.
Referenced by picture_Destroy(), picture_pool_Cancel(), picture_pool_Get(), and picture_pool_Wait().
|
inlinestatic |
Increment the RC.
References vlc_atomic_rc_t::refs, vlc_assert, and VLC_UNUSED.
Referenced by addon_entry_Hold(), aout_Hold(), EsHold(), input_item_Hold(), input_resource_Hold(), input_source_Hold(), picture_Hold(), picture_pool_ClonePicture(), vlc_decoder_device_Hold(), vlc_gl_Hold(), vlc_input_attachment_Hold(), vlc_media_source_Hold(), vlc_media_tree_Hold(), vlc_player_title_list_Hold(), vlc_playlist_item_Hold(), vlc_renderer_item_hold(), vlc_video_context_Hold(), and vout_Hold().
|
inlinestatic |
Init the RC to 1.
References vlc_atomic_rc_t::refs.
Referenced by addon_entry_New(), aout_New(), EsOutAddLocked(), input_item_NewExt(), input_resource_New(), InputSourceNew(), picture_InitPrivate(), picture_pool_New(), vlc_decoder_device_Create(), vlc_gl_CreateOffscreen(), vlc_input_attachment_New(), vlc_media_source_New(), vlc_player_title_list_Create(), vlc_playlist_item_New(), vlc_video_context_Create(), and vout_CreateCommon().