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
52 void *sys;
53};
54
56 vlc_object_t *parent,
57 const struct vlc_preparser_cfg *cfg);
58
60 vlc_object_t *parent,
61 const struct vlc_preparser_cfg *cfg);
62
63/* Preparser Request */
65 /* Called by `vlc_preparser_req_GetItem`. */
66 input_item_t *(*get_item)(struct vlc_preparser_req *req);
67
68 /* Called by `vlc_preparser_req_Release`. */
69 void (*release)(struct vlc_preparser_req *req);
70};
71
75
76#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:1119
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:281
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
Definition preparser.h:64
void(* release)(struct vlc_preparser_req *req)
Definition preparser.h:69
Definition preparser.h:72
const struct vlc_preparser_req_operations * ops
Definition preparser.h:73
Definition preparser.h:50
void * sys
Definition preparser.h:52
const struct vlc_preparser_operations * ops
Definition preparser.h:51
Thumbnailer argument.
Definition vlc_preparser.h:193
Preparser thumbnailer callbacks.
Definition vlc_preparser.h:124
Thumbnailer output argument.
Definition vlc_preparser.h:244
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.