24#ifndef VLC_PREPARSER_H
25#define VLC_PREPARSER_H 1
62#define VLC_PREPARSER_TYPE_PARSE 0x01
63#define VLC_PREPARSER_TYPE_FETCHMETA_LOCAL 0x02
64#define VLC_PREPARSER_TYPE_FETCHMETA_NET 0x04
65#define VLC_PREPARSER_TYPE_THUMBNAIL 0x08
66#define VLC_PREPARSER_TYPE_THUMBNAIL_TO_FILES 0x10
67#define VLC_PREPARSER_TYPE_FETCHMETA_ALL \
68 (VLC_PREPARSER_TYPE_FETCHMETA_LOCAL|VLC_PREPARSER_TYPE_FETCHMETA_NET)
70#define VLC_PREPARSER_OPTION_INTERACT 0x1000
71#define VLC_PREPARSER_OPTION_SUBITEMS 0x2000
114 size_t count,
void *data);
182 const bool *result_array,
size_t result_count,
void *data);
354 void *cbs_userdata );
366 const char **out_ext);
402 void *cbs_userdata );
size_t count
Definition core.c:403
#define VLC_API
Definition fourcc_gen.c:31
#define VLC_DEPRECATED
Definition vlc_common.h:158
vlc_thumbnailer_format
Thumbnailer output format.
Definition vlc_preparser.h:230
vlc_preparser_req * vlc_preparser_GenerateThumbnailToFiles(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)
This function generates a thumbnail to one or several files.
Definition preparser.c:779
input_item_t * vlc_preparser_req_GetItem(vlc_preparser_req *req)
Fetch the input item associated with the request.
Definition preparser.c:932
void vlc_preparser_SetTimeout(vlc_preparser_t *preparser, vlc_tick_t timeout)
Do not use, libVLC only fonction, will be removed soon.
Definition preparser.c:938
vlc_preparser_req * vlc_preparser_GenerateThumbnail(vlc_preparser_t *preparser, input_item_t *item, const struct vlc_thumbnailer_arg *arg, const struct vlc_thumbnailer_cbs *cbs, void *cbs_userdata)
This function enqueues the provided item for generating a thumbnail.
Definition preparser.c:691
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:568
int vlc_preparser_CheckThumbnailerFormat(enum vlc_thumbnailer_format format)
Check if the format is handled by VLC.
Definition preparser.c:773
void vlc_preparser_req_Release(vlc_preparser_req *req)
Release a preparser request handle.
Definition preparser.c:944
int vlc_preparser_GetBestThumbnailerFormat(enum vlc_thumbnailer_format *format, const char **out_ext)
Get the best possible format.
Definition preparser.c:766
vlc_preparser_req * vlc_preparser_Push(vlc_preparser_t *preparser, input_item_t *item, int type_option, const struct vlc_preparser_cbs *cbs, void *cbs_userdata)
This function enqueues the provided item to be preparsed or fetched.
Definition preparser.c:650
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:850
void vlc_preparser_Delete(vlc_preparser_t *preparser)
This function destroys the preparser object and thread.
Definition preparser.c:953
@ VLC_THUMBNAILER_FORMAT_WEBP
Definition vlc_preparser.h:232
@ VLC_THUMBNAILER_FORMAT_PNG
Definition vlc_preparser.h:231
@ VLC_THUMBNAILER_FORMAT_JPEG
Definition vlc_preparser.h:233
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:75
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:113
void(* on_ended)(vlc_preparser_req *req, int status, void *data)
Event received when the parser ends.
Definition vlc_preparser.h:86
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:97
Preparser creation configuration.
Definition vlc_preparser.h:279
vlc_tick_t timeout
Timeout of the preparser and/or thumbnailer, 0 for no limits.
Definition vlc_preparser.h:302
int types
A combination of VLC_PREPARSER_TYPE_* flags, it is used to setup the executors for each domain.
Definition vlc_preparser.h:285
unsigned max_parser_threads
The maximum number of threads used by the parser, 0 for default (1 thread)
Definition vlc_preparser.h:291
unsigned max_thumbnailer_threads
The maximum number of threads used by the thumbnailer, 0 for default (1 thread)
Definition vlc_preparser.h:297
Definition preparser.c:70
Definition preparser.c:47
Seek argument.
Definition vlc_preparser.h:196
@ VLC_THUMBNAILER_SEEK_FAST
Fast, but potentially imprecise.
Definition vlc_preparser.h:218
@ VLC_THUMBNAILER_SEEK_PRECISE
Precise, but potentially slow.
Definition vlc_preparser.h:216
vlc_tick_t time
Seek time if type == VLC_THUMBNAILER_SEEK_TIME.
Definition vlc_preparser.h:209
enum vlc_thumbnailer_arg::seek::@281 speed
@ VLC_THUMBNAILER_SEEK_POS
Seek by position.
Definition vlc_preparser.h:204
@ VLC_THUMBNAILER_SEEK_TIME
Seek by time.
Definition vlc_preparser.h:202
@ VLC_THUMBNAILER_SEEK_NONE
Don't seek (default)
Definition vlc_preparser.h:200
enum vlc_thumbnailer_arg::seek::@278 type
double pos
Seek position if type == VLC_THUMBNAILER_SEEK_POS.
Definition vlc_preparser.h:211
Thumbnailer argument.
Definition vlc_preparser.h:193
bool hw_dec
True to enable hardware decoder (false by default)
Definition vlc_preparser.h:223
Preparser thumbnailer callbacks.
Definition vlc_preparser.h:124
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:149
Thumbnailer output argument.
Definition vlc_preparser.h:242
int height
Requested Height of the thumbnail.
Definition vlc_preparser.h:260
unsigned int creat_mode
File mode bits (cf.
Definition vlc_preparser.h:272
const char * file_path
File output path of the thumbnail.
Definition vlc_preparser.h:270
int width
Requested width of the thumbnail.
Definition vlc_preparser.h:253
enum vlc_thumbnailer_format format
Thumbnailer output format.
Definition vlc_preparser.h:246
bool crop
True if the thumbnail should be cropped.
Definition vlc_preparser.h:267
Preparser thumbnailer to file callbacks.
Definition vlc_preparser.h:158
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:182
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