VLC  4.0.0-dev
preparser.h File Reference
Include dependency graph for preparser.h:

Go to the source code of this file.

Typedefs

typedef struct input_preparser_t input_preparser_t
 Preparser opaque structure. More...
 

Functions

input_preparser_tinput_preparser_New (vlc_object_t *)
 This function creates the preparser object and thread. More...
 
int 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. More...
 
void input_preparser_fetcher_Push (input_preparser_t *, input_item_t *, input_item_meta_request_option_t, const input_fetcher_callbacks_t *cbs, void *cbs_userdata)
 
void input_preparser_Cancel (input_preparser_t *, void *id)
 This function cancel all preparsing requests for a given id. More...
 
void input_preparser_Delete (input_preparser_t *)
 This function destroys the preparser object and thread. More...
 
void input_preparser_Deactivate (input_preparser_t *)
 This function deactivates the preparser. More...
 

Typedef Documentation

◆ input_preparser_t

Preparser opaque structure.

The preparser object will retrieve the meta data of any given input item in an asynchronous way. It will also issue art fetching requests.

Function Documentation

◆ input_preparser_Cancel()

◆ input_preparser_Deactivate()

void input_preparser_Deactivate ( input_preparser_t preparser)

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 input_preparser_t::deactivated, input_preparser_Cancel(), and task::preparser.

Referenced by libvlc_InternalCleanup().

◆ input_preparser_Delete()

void input_preparser_Delete ( input_preparser_t preparser)

This function destroys the preparser object and thread.

All pending input items will be released.

References input_preparser_t::executor, input_preparser_t::fetcher, input_fetcher_Delete(), input_preparser_Cancel(), task::preparser, and vlc_executor_Delete().

Referenced by libvlc_InternalCleanup().

◆ input_preparser_fetcher_Push()

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 
)

◆ input_preparser_New()

◆ input_preparser_Push()

int 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.

The input item is retained until the preparsing is done or until the preparser object is deleted.

Parameters
timeoutmaximum 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).
idunique id provided by the caller. This is can be used to cancel the request with input_preparser_Cancel()
Returns
VLC_SUCCESS if the item was scheduled for preparsing, an error code otherwise If this returns an error, the on_preparse_ended will not be invoked

References input_item_t::b_net, input_item_t::b_preparse_interact, task::cbs, input_preparser_t::deactivated, input_preparser_t::default_timeout, input_preparser_t::executor, input_item_t::i_type, i_type, task::item, 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, task::preparser, PreparserAddTask(), task::runnable, TaskNew(), task::timeout, VLC_EGENERIC, VLC_ENOMEM, vlc_executor_Submit(), vlc_mutex_lock(), vlc_mutex_unlock(), VLC_SUCCESS, and VLC_TICK_FROM_MS.

Referenced by vlc_MetadataRequest().