VLC
4.0.0-dev
|
Atomic operations do not require locking, but they are not very powerful. More...
Go to the source code of this file.
Data Structures | |
struct | vlc_atomic_rc_t |
Macros | |
#define | VLC_ATOMIC_H |
Typedefs | |
typedef atomic_uint_least32_t | vlc_atomic_float |
typedef struct vlc_atomic_rc_t | vlc_atomic_rc_t |
Functions | |
static void | vlc_atomic_init_float (vlc_atomic_float *var, float f) |
static float | vlc_atomic_load_float (vlc_atomic_float *atom) |
Helper to retrieve a single precision from an atom. More... | |
static void | vlc_atomic_store_float (vlc_atomic_float *atom, float f) |
Helper to store a single precision into an atom. More... | |
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... | |
Atomic operations do not require locking, but they are not very powerful.
#define VLC_ATOMIC_H |
typedef atomic_uint_least32_t vlc_atomic_float |
typedef struct vlc_atomic_rc_t vlc_atomic_rc_t |
|
inlinestatic |
|
inlinestatic |
Helper to retrieve a single precision from an atom.
Referenced by aout_volume_Amplify().
|
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(), EsRelease(), input_item_Release(), input_resource_Release(), ReqRelease(), RequestRelease(), vlc_decoder_device_Release(), vlc_gl_Release(), vlc_media_source_Release(), vlc_media_tree_Release(), vlc_player_title_list_Release(), vlc_playlist_item_Release(), vlc_renderer_item_release(), and vlc_video_context_Release().
|
inlinestatic |
Increment the RC.
References vlc_atomic_rc_t::refs, vlc_assert, and VLC_UNUSED.
Referenced by addon_entry_Hold(), EsHold(), input_item_Hold(), input_resource_Hold(), ReqHold(), RequestHold(), vlc_decoder_device_Hold(), vlc_gl_Hold(), vlc_media_source_Hold(), vlc_media_tree_Hold(), vlc_player_title_list_Hold(), vlc_playlist_item_Hold(), vlc_renderer_item_hold(), and vlc_video_context_Hold().
|
inlinestatic |
Init the RC to 1.
References vlc_atomic_rc_t::refs.
Referenced by addon_entry_New(), EsOutAddSlaveLocked(), input_fetcher_Push(), input_item_NewExt(), input_resource_New(), ReqCreate(), vlc_decoder_device_Create(), vlc_gl_Create(), vlc_media_source_New(), vlc_media_tree_New(), vlc_player_title_list_Create(), vlc_playlist_item_New(), vlc_renderer_item_new(), and vlc_video_context_Create().
|
inlinestatic |
Helper to store a single precision into an atom.
Referenced by ReplayGainCallback().