VLC  4.0.0-dev
Typedefs | Functions
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...
 
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. 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()

void input_preparser_Cancel ( input_preparser_t ,
void *  id 
)

This function cancel all preparsing requests for a given id.

Parameters
idunique id given to input_preparser_Push()

References background_worker_Cancel(), and input_preparser_t::worker.

Referenced by libvlc_MetadataCancel().

◆ input_preparser_Deactivate()

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().

◆ input_preparser_Delete()

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().

◆ input_preparser_fetcher_Push()

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 
)

◆ input_preparser_New()

input_preparser_t* input_preparser_New ( vlc_object_t )

◆ input_preparser_Push()

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.

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()

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().