VLC
4.0.0-dev
|
Data Structures | |
struct | vlc_thumbnailer_t |
struct | vlc_thumbnailer_params_t |
struct | vlc_thumbnailer_request_t |
Typedefs | |
typedef struct vlc_thumbnailer_params_t | vlc_thumbnailer_params_t |
Functions | |
static void | on_thumbnailer_input_event (input_thread_t *input, const struct vlc_input_event *event, void *userdata) |
static void | thumbnailer_request_Hold (void *data) |
static void | thumbnailer_request_Release (void *data) |
static int | thumbnailer_request_Start (void *owner, void *entity, void **out) |
static void | thumbnailer_request_Stop (void *owner, void *handle) |
static int | thumbnailer_request_Probe (void *owner, void *handle) |
static vlc_thumbnailer_request_t * | thumbnailer_RequestCommon (vlc_thumbnailer_t *thumbnailer, const vlc_thumbnailer_params_t *params) |
vlc_thumbnailer_request_t * | vlc_thumbnailer_RequestByTime (vlc_thumbnailer_t *thumbnailer, vlc_tick_t time, enum vlc_thumbnailer_seek_speed speed, input_item_t *input_item, vlc_tick_t timeout, vlc_thumbnailer_cb cb, void *user_data) |
vlc_thumbnailer_RequestByTime Requests a thumbnailer at a given time More... | |
vlc_thumbnailer_request_t * | vlc_thumbnailer_RequestByPos (vlc_thumbnailer_t *thumbnailer, float pos, enum vlc_thumbnailer_seek_speed speed, input_item_t *input_item, vlc_tick_t timeout, vlc_thumbnailer_cb cb, void *user_data) |
vlc_thumbnailer_RequestByTime Requests a thumbnailer at a given time More... | |
void | vlc_thumbnailer_Cancel (vlc_thumbnailer_t *thumbnailer, vlc_thumbnailer_request_t *req) |
vlc_thumbnailer_Cancel Cancel a thumbnail request More... | |
vlc_thumbnailer_t * | vlc_thumbnailer_Create (vlc_object_t *parent) |
vlc_thumbnailer_Create Creates a thumbnailer object More... | |
void | vlc_thumbnailer_Release (vlc_thumbnailer_t *thumbnailer) |
vlc_thumbnailer_Release releases a thumbnailer and cancel all pending requests More... | |
typedef struct vlc_thumbnailer_params_t vlc_thumbnailer_params_t |
|
static |
References background_worker_RequestProbe(), vlc_thumbnailer_params_t::cb, vlc_thumbnailer_request_t::done, END_S, ERROR_S, INPUT_EVENT_STATE, INPUT_EVENT_THUMBNAIL_READY, input_Stop(), vlc_thumbnailer_request_t::input_thread, vlc_thumbnailer_request_t::lock, vlc_thumbnailer_request_t::params, vlc_input_event::state, vlc_thumbnailer_request_t::thumbnailer, vlc_input_event::type, vlc_thumbnailer_params_t::user_data, vlc_input_event_state::value, vlc_mutex_lock(), vlc_mutex_unlock(), VLC_UNUSED, and vlc_thumbnailer_t::worker.
Referenced by thumbnailer_request_Start().
|
static |
References VLC_UNUSED.
Referenced by vlc_thumbnailer_Create().
|
static |
References vlc_thumbnailer_request_t::done, vlc_thumbnailer_request_t::lock, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_UNUSED.
Referenced by vlc_thumbnailer_Create().
|
static |
|
static |
References vlc_thumbnailer_params_t::cb, vlc_thumbnailer_params_t::fast_seek, input_CreateThumbnailer(), vlc_thumbnailer_params_t::input_item, input_SetPosition(), input_SetTime(), input_Start(), vlc_thumbnailer_request_t::input_thread, on_thumbnailer_input_event(), vlc_thumbnailer_request_t::params, vlc_thumbnailer_t::parent, vlc_thumbnailer_params_t::pos, vlc_thumbnailer_params_t::time, vlc_thumbnailer_params_t::type, unlikely, vlc_thumbnailer_params_t::user_data, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by vlc_thumbnailer_Create().
|
static |
|
static |
References background_worker_Push(), vlc_thumbnailer_request_t::done, vlc_thumbnailer_params_t::input_item, input_item_Hold(), vlc_thumbnailer_request_t::input_thread, vlc_thumbnailer_request_t::lock, MS_FROM_VLC_TICK, vlc_thumbnailer_request_t::params, vlc_thumbnailer_request_t::thumbnailer, thumbnailer_request_Release(), vlc_thumbnailer_params_t::timeout, unlikely, vlc_mutex_init(), VLC_SUCCESS, VLC_TICK_INVALID, and vlc_thumbnailer_t::worker.
Referenced by vlc_thumbnailer_RequestByPos(), and vlc_thumbnailer_RequestByTime().
void vlc_thumbnailer_Cancel | ( | vlc_thumbnailer_t * | thumbnailer, |
vlc_thumbnailer_request_t * | request | ||
) |
vlc_thumbnailer_Cancel Cancel a thumbnail request
thumbnailer | A thumbnailer object |
request | An opaque thumbnail request object |
Cancelling a request will not invoke the completion callback. The behavior is undefined if the request is cancelled after its completion.
References background_worker_Cancel(), vlc_thumbnailer_params_t::cb, vlc_thumbnailer_request_t::lock, vlc_thumbnailer_request_t::params, vlc_mutex_lock(), vlc_mutex_unlock(), and vlc_thumbnailer_t::worker.
vlc_thumbnailer_t* vlc_thumbnailer_Create | ( | vlc_object_t * | p_parent | ) |
vlc_thumbnailer_Create Creates a thumbnailer object
parent | A VLC object |
References background_worker_New(), background_worker_config::default_timeout, vlc_thumbnailer_t::parent, thumbnailer_request_Hold(), thumbnailer_request_Probe(), thumbnailer_request_Release(), thumbnailer_request_Start(), thumbnailer_request_Stop(), unlikely, and vlc_thumbnailer_t::worker.
Referenced by libvlc_InternalInit().
void vlc_thumbnailer_Release | ( | vlc_thumbnailer_t * | thumbnailer | ) |
vlc_thumbnailer_Release releases a thumbnailer and cancel all pending requests
thumbnailer | A thumbnailer object |
References background_worker_Delete(), and vlc_thumbnailer_t::worker.
Referenced by libvlc_InternalCleanup().
vlc_thumbnailer_request_t* vlc_thumbnailer_RequestByPos | ( | vlc_thumbnailer_t * | thumbnailer, |
float | pos, | ||
enum vlc_thumbnailer_seek_speed | speed, | ||
input_item_t * | input_item, | ||
vlc_tick_t | timeout, | ||
vlc_thumbnailer_cb | cb, | ||
void * | user_data | ||
) |
vlc_thumbnailer_RequestByTime Requests a thumbnailer at a given time
thumbnailer | A thumbnailer object |
pos | The position at which the thumbnail should be taken |
speed | The seeking speed |
input_item | The input item to generate the thumbnail for |
timeout | A timeout value, or VLC_TICK_INVALID to disable timeout |
cb | A user callback to be called on completion (success & error) |
user_data | An opaque value, provided as pf_cb's first parameter |
If this function returns a valid request object, the callback is guaranteed to be called, even in case of later failure. The returned request object must not be used after the callback has been invoked. That request object is owned by the thumbnailer, and must not be released. The provided input_item will be held by the thumbnailer and can safely be released after calling this function.
References thumbnailer_RequestCommon(), and VLC_THUMBNAILER_SEEK_FAST.
vlc_thumbnailer_request_t* vlc_thumbnailer_RequestByTime | ( | vlc_thumbnailer_t * | thumbnailer, |
vlc_tick_t | time, | ||
enum vlc_thumbnailer_seek_speed | speed, | ||
input_item_t * | input_item, | ||
vlc_tick_t | timeout, | ||
vlc_thumbnailer_cb | cb, | ||
void * | user_data | ||
) |
vlc_thumbnailer_RequestByTime Requests a thumbnailer at a given time
thumbnailer | A thumbnailer object |
time | The time at which the thumbnail should be taken |
speed | The seeking speed |
input_item | The input item to generate the thumbnail for |
timeout | A timeout value, or VLC_TICK_INVALID to disable timeout |
cb | A user callback to be called on completion (success & error) |
user_data | An opaque value, provided as pf_cb's first parameter |
If this function returns a valid request object, the callback is guaranteed to be called, even in case of later failure. The returned request object must not be used after the callback has been invoked. That request object is owned by the thumbnailer, and must not be released. The provided input_item will be held by the thumbnailer and can safely be released safely after calling this function.
References thumbnailer_RequestCommon(), and VLC_THUMBNAILER_SEEK_FAST.