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_req_NewParse`. */
22 struct vlc_preparser_req *(*req_new_parse)
23 (void *opaque, input_item_t *item,
24 int type_options,
25 const struct vlc_preparser_cbs *cbs,
26 void *cbs_userdata);
27
28 /** Called by `vlc_preparser_req_NewThumbnail`. */
29 struct vlc_preparser_req *(*req_new_thumbnail)
30 (void *opaque, input_item_t *item,
31 const struct vlc_thumbnailer_arg *thumb_arg,
32 const struct vlc_thumbnailer_cbs *cbs,
33 void *cbs_userdata);
34
35 /** Called by `vlc_preparser_req_NewThumbnailToFiles`. */
36 struct vlc_preparser_req *(*req_new_thumbnail_to_files)
37 (void *opaque, input_item_t *item,
38 const struct vlc_thumbnailer_arg *thumb_arg,
39 const struct vlc_thumbnailer_output *outputs,
40 size_t output_count,
41 const struct vlc_thumbnailer_to_files_cbs *cbs,
42 void *cbs_userdata);
43
44 /** Called by `vlc_preparser_Submit`. */
45 int (*submit)(void *opaque, struct vlc_preparser_req *req);
46
47 /** Called by `vlc_preparser_Cancel`. */
48 size_t (*cancel)(void *opaque, struct vlc_preparser_req *req);
49
50 /** Called by `vlc_preparser_Delete`. */
51 void (*delete)(void *opaque);
52};
53
56 void *sys;
57};
58
60 vlc_object_t *parent,
61 const struct vlc_preparser_cfg *cfg);
62
64 vlc_object_t *parent,
65 const struct vlc_preparser_cfg *cfg);
66
67/* Preparser Request */
69 /* Called by `vlc_preparser_req_GetItem`. */
70 input_item_t *(*get_item)(struct vlc_preparser_req *req);
71
72 /* Called by `vlc_preparser_req_Release`. */
73 void (*release)(struct vlc_preparser_req *req);
74};
75
78
79 /* re-submission guard for debug builds */
81};
82
83#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:984
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:1138
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:78
Preparser creation configuration.
Definition vlc_preparser.h:285
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:48
int(* submit)(void *opaque, struct vlc_preparser_req *req)
Called by vlc_preparser_Submit.
Definition preparser.h:45
Definition preparser.h:68
void(* release)(struct vlc_preparser_req *req)
Definition preparser.h:73
Definition preparser.h:76
bool submitted
Definition preparser.h:80
const struct vlc_preparser_req_operations * ops
Definition preparser.h:77
Definition preparser.h:54
void * sys
Definition preparser.h:56
const struct vlc_preparser_operations * ops
Definition preparser.h:55
Thumbnailer argument.
Definition vlc_preparser.h:197
Preparser thumbnailer callbacks.
Definition vlc_preparser.h:127
Thumbnailer output argument.
Definition vlc_preparser.h:248
Preparser thumbnailer to file callbacks.
Definition vlc_preparser.h:159
This file is a collection of common definitions and types.
This file defines functions for modules in vlc.
VLC Preparser API.