VLC 4.0.0-dev
|
Data Structures | |
union | vlc_preparser_cbs |
struct | vlc_preparser_t |
struct | task_thumbnail_output |
struct | task |
Functions | |
static struct task * | TaskNew (vlc_preparser_t *preparser, void(*run)(void *), input_item_t *item, int options, const struct vlc_thumbnailer_arg *thumb_arg, union vlc_preparser_cbs cbs, void *userdata) |
static void | TaskDelete (struct task *task) |
static vlc_preparser_req_id | PreparserGetNextTaskIdLocked (vlc_preparser_t *preparser, struct task *task) |
static vlc_preparser_req_id | PreparserAddTask (vlc_preparser_t *preparser, struct task *task) |
static void | PreparserRemoveTask (vlc_preparser_t *preparser, struct task *task) |
static void | NotifyPreparseEnded (struct task *task) |
static void | OnParserEnded (input_item_t *item, int status, void *task_) |
static void | OnParserSubtreeAdded (input_item_t *item, input_item_node_t *subtree, void *task_) |
static void | OnParserAttachmentsAdded (input_item_t *item, input_attachment_t *const *array, size_t count, void *task_) |
static void | OnArtFetchEnded (input_item_t *item, bool fetched, void *userdata) |
static void | Parse (struct task *task, vlc_tick_t deadline) |
static int | Fetch (struct task *task) |
static void | ParserRun (void *userdata) |
static bool | on_thumbnailer_input_event (input_thread_t *input, const struct vlc_input_event *event, void *userdata) |
static int | WriteToFile (const block_t *block, const char *path, unsigned mode) |
static void | ThumbnailerToFilesRun (void *userdata) |
static void | ThumbnailerRun (void *userdata) |
static void | Interrupt (struct task *task) |
vlc_preparser_t * | vlc_preparser_New (vlc_object_t *parent, const struct vlc_preparser_cfg *cfg) |
This function creates the preparser object and thread. | |
vlc_preparser_req_id | vlc_preparser_Push (vlc_preparser_t *preparser, input_item_t *item, int type_options, const input_item_parser_cbs_t *cbs, void *cbs_userdata) |
This function enqueues the provided item to be preparsed or fetched. | |
vlc_preparser_req_id | vlc_preparser_GenerateThumbnail (vlc_preparser_t *preparser, input_item_t *item, const struct vlc_thumbnailer_arg *thumb_arg, const struct vlc_thumbnailer_cbs *cbs, void *cbs_userdata) |
This function enqueues the provided item for generating a thumbnail. | |
static int | CheckThumbnailerFormat (enum vlc_thumbnailer_format format, enum vlc_thumbnailer_format *out_format, const char **out_ext, vlc_fourcc_t *out_fourcc) |
int | vlc_preparser_GetBestThumbnailerFormat (enum vlc_thumbnailer_format *format, const char **out_ext) |
Get the best possible format. | |
int | vlc_preparser_CheckThumbnailerFormat (enum vlc_thumbnailer_format format) |
Check if the format is handled by VLC. | |
vlc_preparser_req_id | vlc_preparser_GenerateThumbnailToFiles (vlc_preparser_t *preparser, input_item_t *item, const struct vlc_thumbnailer_arg *thumb_arg, const struct vlc_thumbnailer_output *outputs, size_t output_count, const struct vlc_thumbnailer_to_files_cbs *cbs, void *cbs_userdata) |
This function generates a thumbnail to one or several files. | |
size_t | vlc_preparser_Cancel (vlc_preparser_t *preparser, vlc_preparser_req_id id) |
This function cancel all preparsing requests for a given id. | |
void | vlc_preparser_SetTimeout (vlc_preparser_t *preparser, vlc_tick_t timeout) |
Do not use, libVLC only fonction, will be removed soon. | |
void | vlc_preparser_Delete (vlc_preparser_t *preparser) |
This function destroys the preparser object and thread. | |
Variables | |
static const input_fetcher_callbacks_t | input_fetcher_callbacks |
|
static |
References ARRAY_SIZE, module_exists(), VLC_CODEC_JPEG, VLC_CODEC_PNG, VLC_CODEC_WEBP, VLC_ENOENT, VLC_THUMBNAILER_FORMAT_JPEG, VLC_THUMBNAILER_FORMAT_PNG, and VLC_THUMBNAILER_FORMAT_WEBP.
Referenced by vlc_preparser_CheckThumbnailerFormat(), vlc_preparser_GenerateThumbnailToFiles(), and vlc_preparser_GetBestThumbnailerFormat().
|
static |
References vlc_preparser_t::fetcher, input_fetcher_callbacks, input_fetcher_Push(), task::item, task::options, task::preparser, VLC_ENOENT, and VLC_PREPARSER_TYPE_FETCHMETA_ALL.
Referenced by ParserRun(), and vlc_preparser_Push().
|
static |
References task::i11e_ctx, task::interrupted, task::preparse_ended, vlc_interrupt_kill(), and vlc_sem_post().
Referenced by vlc_preparser_Cancel().
|
static |
References task::cbs, input_item_SetPreparsed(), task::interrupted, task::item, task::preparse_status, task::userdata, and VLC_SUCCESS.
Referenced by OnArtFetchEnded(), and ParserRun().
|
static |
References END_S, ERROR_S, INPUT_EVENT_STATE, INPUT_EVENT_THUMBNAIL_READY, task::pic, picture_Hold(), task::preparse_ended, task::preparse_status, vlc_input_event::state, vlc_input_event::thumbnail, vlc_input_event::type, task::userdata, vlc_input_event_state::value, vlc_sem_post(), VLC_SUCCESS, and VLC_UNUSED.
Referenced by ThumbnailerRun().
|
static |
References task::item, NotifyPreparseEnded(), TaskDelete(), task::userdata, and VLC_UNUSED.
|
static |
References task::cbs, count, task::interrupted, task::item, task::userdata, and VLC_UNUSED.
Referenced by Parse().
|
static |
References task::preparse_ended, task::preparse_status, vlc_sem_post(), and VLC_UNUSED.
Referenced by Parse().
|
static |
References task::cbs, task::interrupted, task::item, task::userdata, and VLC_UNUSED.
Referenced by Parse().
|
static |
References input_item_parser_cfg::cbs, task::cbs, input_item_Parse(), input_item_parser_id_Release(), task::item, OnParserAttachmentsAdded(), OnParserEnded(), OnParserSubtreeAdded(), task::options, vlc_preparser_t::owner, task::preparse_ended, task::preparse_status, task::preparser, VLC_EGENERIC, VLC_ETIMEOUT, VLC_PREPARSER_OPTION_INTERACT, VLC_PREPARSER_OPTION_SUBITEMS, vlc_sem_timedwait(), vlc_sem_wait(), and VLC_TICK_INVALID.
Referenced by ParserRun().
|
static |
References Fetch(), task::interrupted, NotifyPreparseEnded(), task::options, Parse(), task::preparse_status, task::preparser, PreparserRemoveTask(), TaskDelete(), vlc_preparser_t::timeout, task::userdata, VLC_ETIMEOUT, VLC_PREPARSER_TYPE_PARSE, VLC_SUCCESS, vlc_thread_set_name(), VLC_TICK_INVALID, and vlc_tick_now().
Referenced by vlc_preparser_Push().
|
static |
|
static |
References vlc_preparser_t::current_id, task::id, unlikely, and VLC_PREPARSER_REQ_ID_INVALID.
Referenced by PreparserAddTask(), and vlc_preparser_Push().
|
static |
References vlc_preparser_t::lock, task::node, vlc_list_remove(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by ParserRun(), ThumbnailerRun(), and ThumbnailerToFilesRun().
|
static |
References task_thumbnail_output::file_path, task::i11e_ctx, input_item_Release(), task::item, task::output_count, task::outputs, and vlc_interrupt_destroy().
Referenced by OnArtFetchEnded(), ParserRun(), ThumbnailerRun(), ThumbnailerToFilesRun(), vlc_preparser_Cancel(), and vlc_preparser_GenerateThumbnailToFiles().
|
static |
References task::cbs, task::i11e_ctx, input_item_Hold(), task::interrupted, task::item, task::options, task::output_count, task::outputs, task::pic, task::preparse_ended, task::preparse_status, task::preparser, vlc_runnable::run, task::runnable, vlc_thumbnailer_arg::seek, task::thumb_arg, vlc_thumbnailer_arg::seek::type, vlc_runnable::userdata, task::userdata, VLC_EGENERIC, vlc_interrupt_create(), VLC_PREPARSER_TYPE_THUMBNAIL_TO_FILES, and vlc_sem_init().
Referenced by vlc_preparser_GenerateThumbnail(), vlc_preparser_GenerateThumbnailToFiles(), and vlc_preparser_Push().
|
static |
References vlc_input_thread_cfg::cbs, task::cbs, vlc_thumbnailer_arg::hw_dec, vlc_input_thread_cfg::INPUT_CFG_HW_DEC_DISABLED, vlc_input_thread_cfg::INPUT_CFG_HW_DEC_ENABLED, input_Close(), input_Create, input_SetPosition(), input_SetTime(), input_Start(), input_Stop(), INPUT_TYPE_THUMBNAILING, task::interrupted, task::item, vlc_input_thread_callbacks::on_event, on_thumbnailer_input_event(), task::options, vlc_preparser_t::owner, task::pic, picture_Release(), vlc_thumbnailer_arg::seek::pos, task::preparse_ended, task::preparse_status, task::preparser, PreparserRemoveTask(), vlc_runnable::run, task::runnable, vlc_thumbnailer_arg::seek, vlc_thumbnailer_arg::seek::speed, TaskDelete(), task::thumb_arg, vlc_preparser_t::thumbnailer_to_files, ThumbnailerToFilesRun(), vlc_thumbnailer_arg::seek::time, vlc_preparser_t::timeout, vlc_thumbnailer_arg::seek::type, vlc_input_thread_cfg::type, task::userdata, vlc_assert_unreachable, VLC_ETIMEOUT, vlc_executor_Submit(), VLC_PREPARSER_TYPE_THUMBNAIL, VLC_PREPARSER_TYPE_THUMBNAIL_TO_FILES, vlc_sem_timedwait(), vlc_sem_wait(), VLC_SUCCESS, vlc_thread_set_name(), VLC_TICK_INVALID, and vlc_tick_now().
Referenced by vlc_preparser_GenerateThumbnail(), and vlc_preparser_GenerateThumbnailToFiles().
|
static |
References block_Release, task::cbs, task_thumbnail_output::creat_mode, task_thumbnail_output::crop, task_thumbnail_output::file_path, task_thumbnail_output::fourcc, task_thumbnail_output::height, task::i11e_ctx, task::item, task::output_count, task::outputs, vlc_preparser_t::owner, task::pic, picture_Export(), picture_Release(), task::preparse_status, task::preparser, PreparserRemoveTask(), TaskDelete(), task::userdata, vlc_alloc(), VLC_CODEC_UNKNOWN, vlc_interrupt_set(), VLC_SUCCESS, vlc_thread_set_name(), task_thumbnail_output::width, and WriteToFile().
Referenced by ThumbnailerRun().
|
static |
References vlc_frame_t::i_buffer, vlc_frame_t::p_buffer, vlc_open(), and vlc_write_i11e().
Referenced by ThumbnailerToFilesRun().
|
static |
Referenced by Fetch().