VLC
3.0.21
|
Data Structures | |
struct | playlist_preparser_t |
Functions | |
static int | InputEvent (vlc_object_t *obj, const char *varname, vlc_value_t old, vlc_value_t cur, void *worker) |
static int | PreparserOpenInput (void *preparser_, void *item_, void **out) |
static int | PreparserProbeInput (void *preparser_, void *input_) |
static void | PreparserCloseInput (void *preparser_, void *input_) |
static void | InputItemRelease (void *item) |
static void | InputItemHold (void *item) |
playlist_preparser_t * | playlist_preparser_New (vlc_object_t *parent) |
This function creates the preparser object and thread. More... | |
void | playlist_preparser_Push (playlist_preparser_t *preparser, input_item_t *item, input_item_meta_request_option_t i_options, int timeout, void *id) |
This function enqueues the provided item to be preparsed. More... | |
void | playlist_preparser_fetcher_Push (playlist_preparser_t *preparser, input_item_t *item, input_item_meta_request_option_t options) |
void | playlist_preparser_Cancel (playlist_preparser_t *preparser, void *id) |
This function cancel all preparsing requests for a given id. More... | |
void | playlist_preparser_Deactivate (playlist_preparser_t *preparser) |
This function deactivates the preparser. More... | |
void | playlist_preparser_Delete (playlist_preparser_t *preparser) |
This function destroys the preparser object and thread. More... | |
|
static |
< No error
References background_worker_RequestProbe(), vlc_value_t::i_int, INPUT_EVENT_DEAD, VLC_SUCCESS, and VLC_UNUSED.
Referenced by PreparserCloseInput().
|
static |
References input_item_Release().
Referenced by playlist_preparser_New().
|
static |
Referenced by playlist_preparser_New().
void playlist_preparser_Cancel | ( | playlist_preparser_t * | , |
void * | id | ||
) |
This function cancel all preparsing requests for a given id.
id | unique id given to playlist_preparser_Push() |
References background_worker_Cancel(), and playlist_preparser_t::worker.
Referenced by libvlc_MetadataCancel().
void playlist_preparser_Deactivate | ( | playlist_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(), playlist_preparser_t::deactivated, and playlist_preparser_t::worker.
Referenced by libvlc_InternalCleanup().
void playlist_preparser_Delete | ( | playlist_preparser_t * | ) |
This function destroys the preparser object and thread.
All pending input items will be released.
References background_worker_Delete(), playlist_preparser_t::fetcher, playlist_fetcher_Delete(), and playlist_preparser_t::worker.
Referenced by libvlc_InternalCleanup().
void playlist_preparser_fetcher_Push | ( | playlist_preparser_t * | preparser, |
input_item_t * | item, | ||
input_item_meta_request_option_t | options | ||
) |
References playlist_preparser_t::fetcher, and playlist_fetcher_Push().
Referenced by libvlc_ArtRequest().
playlist_preparser_t* playlist_preparser_New | ( | vlc_object_t * | parent | ) |
This function creates the preparser object and thread.
References background_worker_New(), playlist_preparser_t::deactivated, background_worker_config::default_timeout, playlist_preparser_t::fetcher, InputItemHold(), InputItemRelease(), likely, msg_Warn, playlist_preparser_t::owner, playlist_fetcher_New(), PreparserCloseInput(), PreparserOpenInput(), PreparserProbeInput(), unlikely, var_InheritInteger, and playlist_preparser_t::worker.
Referenced by libvlc_InternalInit().
void playlist_preparser_Push | ( | playlist_preparser_t * | , |
input_item_t * | , | ||
input_item_meta_request_option_t | , | ||
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. Listen to vlc_InputItemPreparseEnded event to get notified when item is preparsed.
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 playlist_preparser_Cancel() |
References input_item_t::b_net, background_worker_Push(), playlist_preparser_t::deactivated, input_item_t::i_type, i_type, input_item_SignalPreparseEnded(), 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_SCOPE_NETWORK, vlc_mutex_lock(), vlc_mutex_unlock(), and playlist_preparser_t::worker.
Referenced by libvlc_MetadataRequest().
|
static |
References END_S, ERROR_S, playlist_preparser_t::fetcher, input_Close(), input_GetState(), input_item_SetPreparsed(), input_item_SignalPreparseEnded(), input_priv(), input_Stop(), InputEvent(), ITEM_PREPARSE_DONE, ITEM_PREPARSE_FAILED, ITEM_PREPARSE_TIMEOUT, input_thread_private_t::p_item, playlist_fetcher_Push(), var_DelCallback, and playlist_preparser_t::worker.
Referenced by playlist_preparser_New().
|
static |
|
static |
References END_S, ERROR_S, input_GetState(), and VLC_UNUSED.
Referenced by playlist_preparser_New().