24#ifndef VLC_PREPARSER_H
25#define VLC_PREPARSER_H 1
65#define VLC_PREPARSER_TYPE_PARSE 0x01
66#define VLC_PREPARSER_TYPE_FETCHMETA_LOCAL 0x02
67#define VLC_PREPARSER_TYPE_FETCHMETA_NET 0x04
68#define VLC_PREPARSER_TYPE_THUMBNAIL 0x08
69#define VLC_PREPARSER_TYPE_THUMBNAIL_TO_FILES 0x10
70#define VLC_PREPARSER_TYPE_FETCHMETA_ALL \
71 (VLC_PREPARSER_TYPE_FETCHMETA_LOCAL|VLC_PREPARSER_TYPE_FETCHMETA_NET)
73#define VLC_PREPARSER_OPTION_INTERACT 0x1000
74#define VLC_PREPARSER_OPTION_SUBITEMS 0x2000
117 size_t count,
void *data);
186 const bool *result_array,
size_t result_count,
void *data);
335 const char **out_ext);
372 void *cbs_userdata );
397 void *cbs_userdata );
428 void *cbs_userdata );
size_t count
Definition core.c:403
#define VLC_API
Definition fourcc_gen.c:31
vlc_thumbnailer_format
Thumbnailer output format.
Definition vlc_preparser.h:234
input_item_t * vlc_preparser_req_GetItem(vlc_preparser_req *req)
Fetch the input item associated with the request.
Definition preparser.c:148
struct vlc_preparser_req vlc_preparser_req
Preparser request opaque handle.
Definition vlc_preparser.h:64
vlc_preparser_req * vlc_preparser_req_NewThumbnailToFiles(vlc_preparser_t *preparser, input_item_t *item, const struct vlc_thumbnailer_arg *arg, const struct vlc_thumbnailer_output *outputs, size_t output_count, const struct vlc_thumbnailer_to_files_cbs *cbs, void *cbs_userdata)
Create a request generating a thumbnail to one or several files.
Definition preparser.c:95
int vlc_preparser_Submit(vlc_preparser_t *preparser, vlc_preparser_req *req)
Submit a request created by one of the vlc_preparser_req_New*() functions.
Definition preparser.c:113
vlc_preparser_req * vlc_preparser_req_NewParse(vlc_preparser_t *preparser, input_item_t *item, int type_option, const struct vlc_preparser_cbs *cbs, void *cbs_userdata)
Create a parse/fetch request.
Definition preparser.c:69
vlc_preparser_req * vlc_preparser_req_NewThumbnail(vlc_preparser_t *preparser, input_item_t *item, const struct vlc_thumbnailer_arg *arg, const struct vlc_thumbnailer_cbs *cbs, void *cbs_userdata)
Create a thumbnail generation request.
Definition preparser.c:82
vlc_preparser_t * vlc_preparser_New(vlc_object_t *obj, const struct vlc_preparser_cfg *cfg)
This function creates the preparser object and thread.
Definition preparser.c:33
int vlc_preparser_CheckThumbnailerFormat(enum vlc_thumbnailer_format format)
Check if the format is handled by VLC.
Definition internal.c:780
void vlc_preparser_req_Release(vlc_preparser_req *req)
Release a preparser request handle.
Definition preparser.c:156
int vlc_preparser_GetBestThumbnailerFormat(enum vlc_thumbnailer_format *format, const char **out_ext)
Get the best possible format.
Definition internal.c:773
size_t vlc_preparser_Cancel(vlc_preparser_t *preparser, vlc_preparser_req *req)
This function cancels ongoing or queued preparsing/thumbnail generation for a given request handle.
Definition preparser.c:130
void vlc_preparser_Delete(vlc_preparser_t *preparser)
This function destroys the preparser object and thread.
Definition preparser.c:139
@ VLC_THUMBNAILER_FORMAT_WEBP
Definition vlc_preparser.h:236
@ VLC_THUMBNAILER_FORMAT_RGBA
Definition vlc_preparser.h:238
@ VLC_THUMBNAILER_FORMAT_PNG
Definition vlc_preparser.h:235
@ VLC_THUMBNAILER_FORMAT_JPEG
Definition vlc_preparser.h:237
@ VLC_THUMBNAILER_FORMAT_ARGB
Definition vlc_preparser.h:239
void * arg
Definition sort.c:32
Video picture.
Definition vlc_picture.h:128
VLC object common members.
Definition vlc_objects.h:53
Definition vlc_preparser.h:78
void(* on_attachments_added)(vlc_preparser_req *req, input_attachment_t *const *array, size_t count, void *data)
Event received when new attachments are added.
Definition vlc_preparser.h:116
void(* on_ended)(vlc_preparser_req *req, int status, void *data)
Event received when the parser ends.
Definition vlc_preparser.h:89
void(* on_subtree_added)(vlc_preparser_req *req, input_item_node_t *subtree, void *data)
Event received when a new subtree is added.
Definition vlc_preparser.h:100
Preparser creation configuration.
Definition vlc_preparser.h:285
vlc_tick_t timeout
Timeout of the preparser and/or thumbnailer, 0 for no limits.
Definition vlc_preparser.h:308
int types
A combination of VLC_PREPARSER_TYPE_* flags, it is used to setup the executors for each domain.
Definition vlc_preparser.h:291
unsigned max_parser_threads
The maximum number of threads used by the parser, 0 for default (1 thread).
Definition vlc_preparser.h:297
bool external_process
Indicate if the preparser will use external process or not.
Definition vlc_preparser.h:313
unsigned max_thumbnailer_threads
The maximum number of threads used by the thumbnailer, 0 for default (1 thread).
Definition vlc_preparser.h:303
Definition preparser.h:76
Definition preparser.h:54
Seek argument.
Definition vlc_preparser.h:200
enum vlc_thumbnailer_arg::seek::@332237124070327025112071122156207037227312020171 type
@ VLC_THUMBNAILER_SEEK_FAST
Fast, but potentially imprecise.
Definition vlc_preparser.h:222
@ VLC_THUMBNAILER_SEEK_PRECISE
Precise, but potentially slow.
Definition vlc_preparser.h:220
enum vlc_thumbnailer_arg::seek::@176015036064103074174004227006001063107374250322 speed
vlc_tick_t time
Seek time if type == VLC_THUMBNAILER_SEEK_TIME.
Definition vlc_preparser.h:213
double pos
Seek position if type == VLC_THUMBNAILER_SEEK_POS.
Definition vlc_preparser.h:215
@ VLC_THUMBNAILER_SEEK_POS
Seek by position.
Definition vlc_preparser.h:208
@ VLC_THUMBNAILER_SEEK_TIME
Seek by time.
Definition vlc_preparser.h:206
@ VLC_THUMBNAILER_SEEK_NONE
Don't seek (default).
Definition vlc_preparser.h:204
Thumbnailer argument.
Definition vlc_preparser.h:197
bool hw_dec
True to enable hardware decoder (false by default).
Definition vlc_preparser.h:227
struct vlc_thumbnailer_arg::seek seek
Preparser thumbnailer callbacks.
Definition vlc_preparser.h:127
void(* on_ended)(vlc_preparser_req *req, int status, picture_t *thumbnail, void *data)
Event received on thumbnailing completion or error.
Definition vlc_preparser.h:150
Thumbnailer output argument.
Definition vlc_preparser.h:248
int height
Requested Height of the thumbnail.
Definition vlc_preparser.h:266
unsigned int creat_mode
File mode bits (cf.
Definition vlc_preparser.h:278
const char * file_path
File output path of the thumbnail.
Definition vlc_preparser.h:276
int width
Requested width of the thumbnail.
Definition vlc_preparser.h:259
enum vlc_thumbnailer_format format
Thumbnailer output format.
Definition vlc_preparser.h:252
bool crop
True if the thumbnail should be cropped.
Definition vlc_preparser.h:273
Preparser thumbnailer to file callbacks.
Definition vlc_preparser.h:159
void(* on_ended)(vlc_preparser_req *req, int status, const bool *result_array, size_t result_count, void *data)
Event received on thumbnailing completion or error.
Definition vlc_preparser.h:186
This file is a collection of common definitions and types.
int64_t vlc_tick_t
High precision date or time interval.
Definition vlc_tick.h:48