VLC
4.0.0-dev
|
Data Structures | |
struct | input_preparser_t |
struct | input_preparser_req_t |
struct | input_preparser_task_t |
Typedefs | |
typedef struct input_preparser_req_t | input_preparser_req_t |
typedef struct input_preparser_task_t | input_preparser_task_t |
Functions | |
static input_preparser_req_t * | ReqCreate (input_item_t *item, input_item_meta_request_option_t options, const input_preparser_callbacks_t *cbs, void *userdata) |
static void | ReqHold (input_preparser_req_t *req) |
static void | ReqRelease (input_preparser_req_t *req) |
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 int | PreparserOpenInput (void *preparser_, void *req_, void **out) |
static int | PreparserProbeInput (void *preparser_, void *task_) |
static void | on_art_fetch_ended (input_item_t *item, bool fetched, void *userdata) |
static void | PreparserCloseInput (void *preparser_, void *task_) |
static void | ReqHoldVoid (void *item) |
static void | ReqReleaseVoid (void *item) |
input_preparser_t * | input_preparser_New (vlc_object_t *parent) |
This function creates the preparser object and thread. More... | |
void | input_preparser_Push (input_preparser_t *preparser, input_item_t *item, input_item_meta_request_option_t i_options, const input_preparser_callbacks_t *cbs, void *cbs_userdata, int timeout, void *id) |
This function enqueues the provided item to be preparsed. More... | |
void | input_preparser_fetcher_Push (input_preparser_t *preparser, input_item_t *item, input_item_meta_request_option_t options, const input_fetcher_callbacks_t *cbs, void *cbs_userdata) |
void | input_preparser_Cancel (input_preparser_t *preparser, void *id) |
This function cancel all preparsing requests for a given id. More... | |
void | input_preparser_Deactivate (input_preparser_t *preparser) |
This function deactivates the preparser. More... | |
void | input_preparser_Delete (input_preparser_t *preparser) |
This function destroys the preparser object and thread. More... | |
Variables | |
static const input_fetcher_callbacks_t | input_fetcher_callbacks |
typedef struct input_preparser_req_t input_preparser_req_t |
typedef struct input_preparser_task_t input_preparser_task_t |
void input_preparser_Cancel | ( | input_preparser_t * | , |
void * | id | ||
) |
This function cancel all preparsing requests for a given id.
id | unique id given to input_preparser_Push() |
References background_worker_Cancel(), and input_preparser_t::worker.
Referenced by libvlc_MetadataCancel().
void input_preparser_Deactivate | ( | input_preparser_t * | ) |
This function deactivates the preparser.
All pending requests will be removed, and it will block until the currently running entity has finished (if any).
References background_worker_Cancel(), input_preparser_t::deactivated, and input_preparser_t::worker.
Referenced by libvlc_InternalCleanup().
void input_preparser_Delete | ( | input_preparser_t * | ) |
This function destroys the preparser object and thread.
All pending input items will be released.
References background_worker_Delete(), input_preparser_t::fetcher, input_fetcher_Delete(), and input_preparser_t::worker.
Referenced by libvlc_InternalCleanup().
void input_preparser_fetcher_Push | ( | input_preparser_t * | preparser, |
input_item_t * | item, | ||
input_item_meta_request_option_t | options, | ||
const input_fetcher_callbacks_t * | cbs, | ||
void * | cbs_userdata | ||
) |
References input_preparser_t::fetcher, and input_fetcher_Push().
Referenced by libvlc_ArtRequest().
input_preparser_t* input_preparser_New | ( | vlc_object_t * | parent | ) |
This function creates the preparser object and thread.
References background_worker_New(), input_preparser_t::deactivated, background_worker_config::default_timeout, input_preparser_t::fetcher, input_fetcher_New(), likely, msg_Warn, input_preparser_t::owner, PreparserCloseInput(), PreparserOpenInput(), PreparserProbeInput(), ReqHoldVoid(), ReqReleaseVoid(), unlikely, var_InheritInteger(), VLC_TICK_FROM_MS, and input_preparser_t::worker.
Referenced by libvlc_InternalInit().
void input_preparser_Push | ( | input_preparser_t * | , |
input_item_t * | , | ||
input_item_meta_request_option_t | , | ||
const input_preparser_callbacks_t * | cbs, | ||
void * | cbs_userdata, | ||
int | timeout, | ||
void * | id | ||
) |
This function enqueues the provided item to be preparsed.
The input item is retained until the preparsing is done or until the preparser object is deleted.
timeout | maximum time allowed to preparse the item. If -1, the default "preparse-timeout" option will be used as a timeout. If 0, it will wait indefinitely. If > 0, the timeout will be used (in milliseconds). |
id | unique id provided by the caller. This is can be used to cancel the request with input_preparser_Cancel() |
References input_item_t::b_net, input_item_t::b_preparse_interact, background_worker_Push(), input_preparser_req_t::cbs, input_preparser_t::deactivated, input_item_t::i_type, i_type, ITEM_PREPARSE_FAILED, ITEM_PREPARSE_SKIPPED, ITEM_TYPE_DIRECTORY, ITEM_TYPE_FILE, ITEM_TYPE_NODE, ITEM_TYPE_PLAYLIST, input_item_t::lock, META_REQUEST_OPTION_DO_INTERACT, META_REQUEST_OPTION_SCOPE_NETWORK, input_preparser_callbacks_t::on_preparse_ended, ReqCreate(), ReqRelease(), vlc_mutex_lock(), vlc_mutex_unlock(), and input_preparser_t::worker.
Referenced by vlc_MetadataRequest().
|
static |
|
static |
|
static |
|
static |
References input_preparser_req_t::cbs, input_preparser_t::fetcher, input_fetcher_Push(), input_item_parser_id_Release(), input_item_SetPreparsed(), input_preparser_req_t::item, ITEM_PREPARSE_DONE, ITEM_PREPARSE_FAILED, ITEM_PREPARSE_TIMEOUT, META_REQUEST_OPTION_FETCH_ANY, input_preparser_callbacks_t::on_preparse_ended, input_preparser_req_t::options, input_preparser_task_t::parser, input_preparser_task_t::preparse_status, input_preparser_task_t::req, ReqHold(), ReqRelease(), input_preparser_task_t::state, input_preparser_req_t::userdata, VLC_ETIMEOUT, and VLC_SUCCESS.
Referenced by input_preparser_New().
|
static |
References input_preparser_req_t::cbs, input_preparser_task_t::done, input_item_Parse(), input_preparser_req_t::item, ITEM_PREPARSE_FAILED, input_item_parser_cbs_t::on_ended, input_preparser_callbacks_t::on_preparse_ended, OnParserEnded(), OnParserSubtreeAdded(), input_preparser_t::owner, input_preparser_task_t::parser, input_preparser_task_t::preparse_status, input_preparser_task_t::preparser, input_preparser_task_t::req, input_preparser_task_t::state, unlikely, input_preparser_req_t::userdata, VLC_EGENERIC, VLC_ETIMEOUT, and VLC_SUCCESS.
Referenced by input_preparser_New().
|
static |
References input_preparser_task_t::done, and VLC_UNUSED.
Referenced by input_preparser_New().
|
static |
|
static |
References input_preparser_req_t::rc, and vlc_atomic_rc_inc().
Referenced by PreparserCloseInput(), and ReqHoldVoid().
|
static |
References ReqHold().
Referenced by input_preparser_New().
|
static |
References input_item_Release(), input_preparser_req_t::item, input_preparser_req_t::rc, and vlc_atomic_rc_dec().
Referenced by input_preparser_Push(), on_art_fetch_ended(), PreparserCloseInput(), and ReqReleaseVoid().
|
static |
References ReqRelease().
Referenced by input_preparser_New().
|
static |