|
VLC 4.0.0-dev
|
Data Structures | |
| struct | vlc_ancillary_array |
Macros | |
| #define | VLC_ANCILLARY_ARRAY_INITIALIZER VLC_VECTOR_INITIALIZER |
| #define | VLC_ANCILLARY_ID(a, b, c, d) VLC_FOURCC(a,b,c,d) |
Typedefs | |
| typedef uint32_t | vlc_ancillary_id |
| ID of an ancillary. | |
| typedef void(* | vlc_ancillary_free_cb) (void *data) |
| Callback to free an ancillary data. | |
Functions | |
| struct vlc_ancillary * | vlc_ancillary_CreateWithFreeCb (void *data, vlc_ancillary_id id, vlc_ancillary_free_cb free_cb) |
| Create an ancillary. | |
| static struct vlc_ancillary * | vlc_ancillary_Create (void *data, vlc_ancillary_id id) |
| Helper to create an ancillary holding an allocated data. | |
| void | vlc_ancillary_Release (struct vlc_ancillary *ancillary) |
| Release an ancillary. | |
| struct vlc_ancillary * | vlc_ancillary_Hold (struct vlc_ancillary *ancillary) |
| Hold an ancillary. | |
| void * | vlc_ancillary_GetData (const struct vlc_ancillary *ancillary) |
| Get the data of the ancillary. | |
| #define VLC_ANCILLARY_ARRAY_INITIALIZER VLC_VECTOR_INITIALIZER |
| #define VLC_ANCILLARY_ID | ( | a, | |
| b, | |||
| c, | |||
| d | |||
| ) | VLC_FOURCC(a,b,c,d) |
| typedef void(* vlc_ancillary_free_cb) (void *data) |
Callback to free an ancillary data.
| typedef uint32_t vlc_ancillary_id |
ID of an ancillary.
Each ancillary user can create its own unique ID via VLC_ANCILLARY_ID.
|
inlinestatic |
Helper to create an ancillary holding an allocated data.
References vlc_ancillary::data, and vlc_ancillary_CreateWithFreeCb().
Referenced by picture_AttachNewAncillary().
| struct vlc_ancillary * vlc_ancillary_CreateWithFreeCb | ( | void * | data, |
| vlc_ancillary_id | id, | ||
| vlc_ancillary_free_cb | free_cb | ||
| ) |
Create an ancillary.
| data | an opaque ancillary, can't be NULL |
| id | id of ancillary |
| free_cb | callback to release the data, can be NULL |
References vlc_ancillary::data, vlc_ancillary::free_cb, vlc_ancillary::id, vlc_ancillary::rc, and vlc_atomic_rc_init().
Referenced by vlc_ancillary_Create().
| void * vlc_ancillary_GetData | ( | const struct vlc_ancillary * | ancillary | ) |
Get the data of the ancillary.
| ancillary | ancillary to get data from |
References vlc_ancillary::data.
| struct vlc_ancillary * vlc_ancillary_Hold | ( | struct vlc_ancillary * | ancillary | ) |
Hold an ancillary.
| ancillary | ancillary to hold |
References vlc_ancillary::rc, and vlc_atomic_rc_inc().
Referenced by vlc_ancillary_array_Insert().
| void vlc_ancillary_Release | ( | struct vlc_ancillary * | ancillary | ) |
Release an ancillary.
If the refcount reaches 0, the free_cb provided by vlc_ancillary_CreateWithFreeCb() is called.
| ancillary | ancillary to release |
References vlc_ancillary::data, vlc_ancillary::free_cb, vlc_ancillary::rc, and vlc_atomic_rc_dec().
Referenced by picture_AttachNewAncillary(), vlc_ancillary_array_Clear(), and vlc_ancillary_array_Insert().