VLC 4.0.0-dev
Loading...
Searching...
No Matches
preparser.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later
2/*****************************************************************************
3 * preparser.h: internal header for preparser
4 *****************************************************************************
5 * Copyright © 2025 Videolabs, VideoLAN and VLC authors
6 *
7 * Authors: Gabriel Lafond Thenaille <gabriel@videolabs.io>
8 *****************************************************************************/
9
10#ifndef PREPARSER_INTERNAL_H
11#define PREPARSER_INTERNAL_H 1
12
13#include <vlc_common.h>
14#include <vlc_preparser.h>
15#include <vlc_modules.h>
16
17/**
18 * Preparser's operations
19 */
21 /** Called by `vlc_preparser_Push`. */
22 struct vlc_preparser_req *(*push)(void *opaque, input_item_t *item,
23 int type_options,
24 const struct vlc_preparser_cbs *cbs,
25 void *cbs_userdata);
26
27 /** Called by `vlc_preparser_GenerateThumbnail`. */
28 struct vlc_preparser_req *(*generate_thumbnail)
29 (void *opaque, input_item_t *item,
30 const struct vlc_thumbnailer_arg *thumb_arg,
31 const struct vlc_thumbnailer_cbs *cbs,
32 void *cbs_userdata);
33
34 /** Called by `vlc_preparser_GenerateThumbnailToFiles`. */
35 struct vlc_preparser_req *(*generate_thumbnail_to_files)
36 (void *opaque, input_item_t *item,
37 const struct vlc_thumbnailer_arg *thumb_arg,
38 const struct vlc_thumbnailer_output *outputs,
39 size_t output_count,
40 const struct vlc_thumbnailer_to_files_cbs *cbs,
41 void *cbs_userdata);
42
43 /** Called by `vlc_preparser_Cancel`. */
44 size_t (*cancel)(void *opaque, struct vlc_preparser_req *req);
45
46 /** Called by `vlc_preparser_Delete`. */
47 void (*delete)(void *opaque);
48
49 /** Called by `vlc_preparser_SetTimeout`. */
50 void (*set_timeout)(void *opaque, vlc_tick_t timeout);
51};
52
55 void *sys;
56};
57
59 vlc_object_t *parent,
60 const struct vlc_preparser_cfg *cfg);
61
63 vlc_object_t *parent,
64 const struct vlc_preparser_cfg *cfg);
65
66/* Preparser Request */
68 /* Called by `vlc_preparser_req_GetItem`. */
69 input_item_t *(*get_item)(struct vlc_preparser_req *req);
70
71 /* Called by `vlc_preparser_req_Release`. */
72 void (*release)(struct vlc_preparser_req *req);
73};
74
78
79#endif /* PREPARSER_INTERNAL_H */
void * vlc_preparser_internal_New(vlc_preparser_t *preparser, vlc_object_t *parent, const struct vlc_preparser_cfg *cfg)
Definition internal.c:960
void * vlc_preparser_external_New(vlc_preparser_t *preparser, vlc_object_t *parent, const struct vlc_preparser_cfg *cfg)
Create a new preparser with an external process.
Definition external.c:1080
Describes an input and is used to spawn input_thread_t objects.
Definition vlc_input_item.h:98
VLC object common members.
Definition vlc_objects.h:53
Definition vlc_preparser.h:75
Preparser creation configuration.
Definition vlc_preparser.h:279
Preparser's operations.
Definition preparser.h:20
size_t(* cancel)(void *opaque, struct vlc_preparser_req *req)
Called by vlc_preparser_Cancel.
Definition preparser.h:44
void(* set_timeout)(void *opaque, vlc_tick_t timeout)
Called by vlc_preparser_SetTimeout.
Definition preparser.h:50
Definition preparser.h:67
void(* release)(struct vlc_preparser_req *req)
Definition preparser.h:72
Definition preparser.h:75
const struct vlc_preparser_req_operations * ops
Definition preparser.h:76
Definition preparser.h:53
void * sys
Definition preparser.h:55
const struct vlc_preparser_operations * ops
Definition preparser.h:54
Thumbnailer argument.
Definition vlc_preparser.h:193
Preparser thumbnailer callbacks.
Definition vlc_preparser.h:124
Thumbnailer output argument.
Definition vlc_preparser.h:242
Preparser thumbnailer to file callbacks.
Definition vlc_preparser.h:158
This file is a collection of common definitions and types.
This file defines functions for modules in vlc.
VLC Preparser API.
int64_t vlc_tick_t
High precision date or time interval.
Definition vlc_tick.h:48