22 #ifndef __BG_PLUGIN_H_
23 #define __BG_PLUGIN_H_
26 #include <gavl/compression.h>
27 #include <gavl/connectors.h>
28 #include <gavl/metadata.h>
31 #include <gavl/gavf.h>
33 #include <gmerlin/parameter.h>
34 #include <gmerlin/streaminfo.h>
35 #include <gmerlin/accelerator.h>
36 #include <gmerlin/edl.h>
108 #define BG_PLUGIN_REMOVABLE (1<<0)
109 #define BG_PLUGIN_FILE (1<<1)
110 #define BG_PLUGIN_RECORDER (1<<2)
111 #define BG_PLUGIN_URL (1<<3)
112 #define BG_PLUGIN_PLAYBACK (1<<4)
113 #define BG_PLUGIN_PIPE (1<<8)
114 #define BG_PLUGIN_TUNER (1<<9)
115 #define BG_PLUGIN_FILTER_1 (1<<10)
116 #define BG_PLUGIN_EMBED_WINDOW (1<<11)
117 #define BG_PLUGIN_VISUALIZE_FRAME (1<<12)
118 #define BG_PLUGIN_VISUALIZE_GL (1<<13)
119 #define BG_PLUGIN_PP (1<<14)
120 #define BG_PLUGIN_CALLBACKS (1<<15)
121 #define BG_PLUGIN_BROADCAST (1<<16)
122 #define BG_PLUGIN_DEVPARAM (1<<17)
123 #define BG_PLUGIN_OV_STILL (1<<18)
124 #define BG_PLUGIN_GAVF_IO (1<<19)
126 #define BG_PLUGIN_AUDIO_COMPRESSOR (1<<19)
127 #define BG_PLUGIN_VIDEO_COMPRESSOR (1<<20)
128 #define BG_PLUGIN_AUDIO_DECOMPRESSOR (1<<21)
129 #define BG_PLUGIN_VIDEO_DECOMPRESSOR (1<<22)
130 #define BG_PLUGIN_OVERLAY_COMPRESSOR (1<<23)
131 #define BG_PLUGIN_OVERLAY_DECOMPRESSOR (1<<24)
133 #define BG_PLUGIN_UNSUPPORTED (1<<25)
136 #define BG_PLUGIN_ALL 0xFFFFFFFF
141 #define BG_PLUGIN_API_VERSION 27
146 #define BG_GET_PLUGIN_API_VERSION \
147 int get_plugin_api_version() __attribute__ ((visibility("default"))); \
148 int get_plugin_api_version() { return BG_PLUGIN_API_VERSION; }
150 #define BG_PLUGIN_PRIORITY_MIN 1
151 #define BG_PLUGIN_PRIORITY_MAX 10
409 char ** username,
char ** password);
423 int pixel_width,
int pixel_height);
459 const char * (*get_protocols)(
void * priv);
464 const char * (*get_mimetypes)(
void * priv);
470 const char * (*get_extensions)(
void * priv);
488 int (*
open)(
void * priv,
const char * arg);
498 int (*
open_fd)(
void * priv,
int fd, int64_t total_bytes,
499 const char * mimetype);
512 int (*
open_io)(
void * priv, gavf_io_t * io);
519 const gavl_edl_t * (*get_edl)(
void * priv);
528 const char * (*get_disc_name)(
void * priv);
577 int (*
set_track)(
void * priv,
int track);
678 int (*
start)(
void * priv);
713 gavl_audio_source_t * (*get_audio_source)(
void * priv,
int stream);
744 gavl_video_source_t * (*get_video_source)(
void * priv,
int stream);
778 gavl_packet_source_t * (*get_audio_packet_source)(
void * priv,
int stream);
788 gavl_packet_source_t * (*get_video_packet_source)(
void * priv,
int stream);
798 gavl_packet_source_t * (*get_overlay_packet_source)(
void * priv,
int stream);
812 void (*
skip_video)(
void * priv,
int stream, int64_t * time,
int scale,
int exact);
844 gavl_video_source_t * (*get_overlay_source)(
void * priv,
int stream);
877 gavl_packet_source_t * (*get_text_source)(
void * priv,
int stream);
887 gavl_packet_source_t * (*get_subtitle_packet_source)(
void * priv,
int stream);
900 void (*
seek)(
void * priv, int64_t * time,
int scale);
909 void (*
stop)(
void * priv);
917 void (*
close)(
void * priv);
959 int (*
start)(
void * priv);
966 gavl_audio_sink_t * (*get_sink)(
void * priv);
985 void (*
stop)(
void * priv);
993 void (*
close)(
void * priv);
1078 gavl_audio_source_t * (*get_audio_source)(
void * priv);
1087 gavl_video_source_t * (*get_video_source)(
void * priv);
1093 void (*
close)(
void * priv);
1268 void (*
set_window)(
void * priv,
const char * window_id);
1275 const char * (*get_window)(
void * priv);
1369 gavl_video_sink_t * (*get_sink)(
void * priv);
1387 void (*
update_aspect)(
void * priv,
int pixel_width,
int pixel_height);
1404 void (*
close)(
void * priv);
1537 int (*
open)(
void * data,
const char * filename,
1538 const gavl_metadata_t * metadata,
1539 const gavl_chapter_list_t * chapter_list);
1549 int (*
open_io)(
void * data, gavf_io_t * io,
1550 const gavl_metadata_t * metadata,
1551 const gavl_chapter_list_t * chapter_list);
1638 const gavl_metadata_t * m,
1653 const gavl_metadata_t * m,
1664 const gavl_metadata_t * m,
1665 uint32_t * timescale);
1680 const gavl_metadata_t * m,
1697 const gavl_metadata_t * m,
1765 int (*
set_video_pass)(
void * priv,
int stream,
int pass,
int total_passes,
1766 const char * stats_file);
1776 int (*
start)(
void * priv);
1783 gavl_audio_sink_t * (*get_audio_sink)(
void * priv,
int stream);
1790 gavl_packet_sink_t * (*get_audio_packet_sink)(
void * priv,
int stream);
1797 gavl_video_sink_t * (*get_video_sink)(
void * priv,
int stream);
1804 gavl_packet_sink_t * (*get_video_packet_sink)(
void * priv,
int stream);
1811 gavl_packet_sink_t * (*get_text_sink)(
void * priv,
int stream);
1818 gavl_video_sink_t * (*get_overlay_sink)(
void * priv,
int stream);
1825 gavl_packet_sink_t * (*get_overlay_packet_sink)(
void * priv,
int stream);
1844 int (*
close)(
void * data,
int do_delete);
1874 void (*action_callback)(
void * data,
char * action);
1885 void (*progress_callback)(
void * data,
float perc);
1927 int (*
init)(
void * priv);
1945 void (*
add_track)(
void * priv,
const char * filename,
1946 gavl_metadata_t * metadata,
int pp_only);
1957 void (*
run)(
void * priv,
const char * directory,
int cleanup);
1968 void (*
stop)(
void * priv);
2003 int (*
read_header)(
void * priv,
const char * filename,
2011 const gavl_metadata_t * (*get_metadata)(
void * priv);
2092 int (*
write_header)(
void * priv,
const char * filename,
2160 void (*
reset)(
void * priv);
2171 gavl_audio_source_t * (*connect)(
void * priv, gavl_audio_source_t *,
2207 void (*
reset)(
void * priv);
2227 gavl_video_source_t * (*connect)(
void * priv,
2228 gavl_video_source_t * src,
2305 const char * window_id);
2346 void (*
close)(
void * priv);
2382 gavl_audio_sink_t * (*open_encode_audio)(
void * priv,
2385 gavl_metadata_t * m);
2395 gavl_video_sink_t * (*open_encode_video)(
void * priv,
2398 gavl_metadata_t * m);
2408 gavl_video_sink_t * (*open_encode_overlay)(
void * priv,
2411 gavl_metadata_t * m);
2428 gavl_audio_source_t * (*connect_decode_audio)(
void * priv,
2429 gavl_packet_source_t * src,
2432 gavl_metadata_t * m);
2442 gavl_video_source_t * (*connect_decode_video)(
void * priv,
2443 gavl_packet_source_t * src,
2446 gavl_metadata_t * m);
2456 gavl_video_source_t * (*connect_decode_overlay)(
void * priv,
2457 gavl_packet_source_t * src,
2460 gavl_metadata_t * m);
2469 void (*
reset)(
void * priv);
2477 int64_t (*
skip)(
void * priv, int64_t t);
2486 int (*
set_pass)(
void * priv,
int pass,
int total_passes,
2487 const char * stats_file);
2495 #endif // __BG_PLUGIN_H_
Audio visualization plugin.
Definition: plugin.h:2268
char * description
Textual description.
Definition: plugin.h:269
struct gavl_audio_options_s gavl_audio_options_t
void(* show_frame)(void *priv)
Show the image.
Definition: plugin.h:2339
void(* set_packet_sink)(void *priv, gavl_packet_sink_t *s)
Set a packet sink.
Definition: plugin.h:2417
Recorder.
Definition: plugin.h:1042
Encoder postprocessor (e.g. CD burner)
Definition: plugin.h:202
void(* set_callbacks)(void *priv, bg_ov_callbacks_t *cb)
return callback
Definition: plugin.h:2277
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition: plugin.h:1473
void(* reset)(void *priv)
Reset.
Definition: plugin.h:2206
int(* key_release_callback)(void *data, int key, int mask)
Keyboard release callback.
Definition: plugin.h:1157
void(* contrast_callback)(void *data, float val)
Contrast change callback.
Definition: plugin.h:1223
int(* read_image)(void *priv, gavl_video_frame_t *frame)
Read the image.
Definition: plugin.h:2029
void(* stop)(void *priv)
Stop playback.
Definition: plugin.h:984
void(* destroy)(void *priv)
Destroy plugin instance.
Definition: plugin.h:294
int(* writes_compressed_video)(void *priv, const gavl_video_format_t *format, const gavl_compression_info_t *info)
Query for writing compressed video packets.
Definition: plugin.h:1509
void(* saturation_callback)(void *data, float val)
Saturation change callback.
Definition: plugin.h:1214
void * data
Application specific data passed as the first argument to all callbacks.
Definition: plugin.h:1456
bg_read_video_func_t read_video
Read video frame.
Definition: plugin.h:1081
char * name
Unique short name.
Definition: plugin.h:264
const char * mimetypes
Supported mimetypes.
Definition: plugin.h:2072
bg_stream_action_t
Stream actions.
Definition: plugin.h:164
int(* open)(void *priv, gavl_video_format_t *format, int keep_aspect)
Open plugin.
Definition: plugin.h:1318
void(* set_text_parameter)(void *priv, int stream, const char *name, const bg_parameter_value_t *v)
Set text subtitle encoding parameter.
Definition: plugin.h:1738
Callbacks for postprocessing.
Definition: plugin.h:1865
Callbacks for recorder plugins.
Definition: plugin.h:1014
int(* create_temp_file)(void *data, const char *filename)
Temp file callback.
Definition: plugin.h:1454
void(* reset)(void *priv)
Reset.
Definition: plugin.h:2159
Image reader.
Definition: plugin.h:203
void(* reset)(void *priv)
Reset a decoder.
Definition: plugin.h:2468
Stream will be read in compressed form.
Definition: plugin.h:168
int(* write_header)(void *priv, const char *filename, gavl_video_format_t *format, const gavl_metadata_t *m)
Write the file header.
Definition: plugin.h:2091
int(* need_restart)(void *priv)
Report, if the plugin must be reinitialized.
Definition: plugin.h:2217
Encoder plugin.
Definition: plugin.h:1471
int max_audio_streams
Maximum number of audio streams. -1 means infinite.
Definition: plugin.h:1906
int(* accel_callback)(void *data, int id)
Keyboard callback.
Definition: plugin.h:1133
char * gettext_domain
First argument for bindtextdomain().
Definition: plugin.h:261
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition: plugin.h:1255
struct gavl_video_options_s gavl_video_options_t
int(* add_video_stream)(void *priv, const gavl_metadata_t *m, const gavl_video_format_t *format)
Add a video stream.
Definition: plugin.h:1636
void bg_device_info_destroy(bg_device_info_t *arr)
Free an array of device descriptions.
int(* set_pass)(void *priv, int pass, int total_passes, const char *stats_file)
Set pass for an encoder.
Definition: plugin.h:2485
void * data
Application specific data passed as the first argument to all callbacks.
Definition: plugin.h:2055
Audio recorder.
Definition: plugin.h:195
Image writer plugin.
Definition: plugin.h:2068
void(* add_track)(void *priv, const char *filename, gavl_metadata_t *metadata, int pp_only)
Add a transcoded track.
Definition: plugin.h:1944
Callbacks for the encoder plugin.
Definition: plugin.h:1433
int(* open_win)(void *priv, gavl_audio_format_t *audio_format, const char *window_id)
Open a window based visualization plugin.
Definition: plugin.h:2303
void(* set_window)(void *priv, const char *window_id)
Set window.
Definition: plugin.h:1267
int(* start)(void *priv)
Start playback.
Definition: plugin.h:958
Device description.
Definition: plugin.h:220
int flags
Flags (see defines)
Definition: plugin.h:267
int(* open_ov)(void *priv, gavl_audio_format_t *audio_format, gavl_video_format_t *video_format)
Open a frame based visualization plugin.
Definition: plugin.h:2290
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition: plugin.h:2151
int(* create_output_file)(void *data, const char *filename)
Output file callback.
Definition: plugin.h:1444
int(* need_restart)(void *priv)
Report, if the plugin must be reinitialized.
Definition: plugin.h:2182
void(* set_video_parameter)(void *priv, int stream, const char *name, const bg_parameter_value_t *v)
Set video encoding parameter.
Definition: plugin.h:1725
void(* show_window)(void *data, int show)
Show/hide callback.
Definition: plugin.h:1196
int(* set_video_pass)(void *priv, int stream, int pass, int total_passes, const char *stats_file)
Setup multipass video encoding.
Definition: plugin.h:1764
void(* set_callbacks)(void *priv, bg_ov_callbacks_t *callbacks)
Set callbacks.
Definition: plugin.h:1306
int max_video_streams
Maximum number of video streams. -1 means infinite.
Definition: plugin.h:1907
const char * extensions
File extensions (space separated)
Definition: plugin.h:2071
bg_set_parameter_func_t set_parameter
Set configuration parameter (optional)
Definition: plugin.h:308
void(* set_callbacks)(void *priv, bg_recorder_callbacks_t *callbacks)
Set callbacks.
Definition: plugin.h:1055
void(* update_metadata)(void *priv, const gavl_metadata_t *m)
Update metadata.
Definition: plugin.h:1833
void(* update_aspect)(void *priv, int pixel_width, int pixel_height)
Update aspect ratio.
Definition: plugin.h:1386
Encoder for video only.
Definition: plugin.h:198
const char * extensions
Supported file extensions (space separated)
Definition: plugin.h:1992
Encoder for multiple kinds of streams.
Definition: plugin.h:201
void * data
Application specific data passed as the first argument to all callbacks.
Definition: plugin.h:1025
Image reader plugin.
Definition: plugin.h:1989
Encoding postprocessor.
Definition: plugin.h:1902
Video output.
Definition: plugin.h:194
int(* get_compression_info)(void *priv, gavl_compression_info_t *ci)
Get compression info.
Definition: plugin.h:2018
Encoder for overlay subtitles only.
Definition: plugin.h:200
void(* set_audio_parameter)(void *priv, int stream, const char *name, const bg_parameter_value_t *v)
Set audio encoding parameter.
Definition: plugin.h:1711
int priority
Priority (between 1 and 10).
Definition: plugin.h:277
const bg_accelerator_map_t * accel_map
Accelerator map.
Definition: plugin.h:1126
bg_get_parameter_func_t get_parameter
Get configuration parameter (optional)
Definition: plugin.h:316
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition: plugin.h:1991
Audio output plugin.
Definition: plugin.h:937
int(* read_header)(void *priv, const char *filename, gavl_video_format_t *format)
Read the file header.
Definition: plugin.h:2002
int(* add_text_stream)(void *priv, const gavl_metadata_t *m, uint32_t *timescale)
Add a text subtitle stream.
Definition: plugin.h:1662
Callbacks for the video output plugin.
Definition: plugin.h:1118
Codec plugin.
Definition: plugin.h:2362
bg_device_info_t * bg_device_info_append(bg_device_info_t *arr, const char *device, const char *name)
Append device info to an existing array and return the new array.
Parmeter description.
Definition: parameter.h:134
void(* set_window_options)(void *priv, const char *name, const char *klass, const gavl_video_frame_t *icon, const gavl_video_format_t *icon_format)
Set window class.
Definition: plugin.h:1288
int(* bg_get_parameter_func_t)(void *data, const char *name, bg_parameter_value_t *v)
Generic prototype for getting parameters from a module.
Definition: parameter.h:221
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition: plugin.h:2270
int(* check_device)(const char *device, char **name)
Check, if a device can be opened by the plugin (optional)
Definition: plugin.h:327
int(* add_audio_stream_compressed)(void *priv, const gavl_metadata_t *m, const gavl_audio_format_t *format, const gavl_compression_info_t *info)
Add an audio stream fpr compressed writing.
Definition: plugin.h:1622
None or undefined.
Definition: plugin.h:191
int(* writes_compressed_overlay)(void *priv, const gavl_video_format_t *format, const gavl_compression_info_t *info)
Query for writing compressed overlay packets.
Definition: plugin.h:1522
Audio/Video (de)compressor.
Definition: plugin.h:209
Audio filter plugin.
Definition: plugin.h:2149
Encoder for audio only.
Definition: plugin.h:197
int(* get_delay)(void *priv)
Get the number of buffered audio samples.
Definition: plugin.h:975
Stream is switched off and will be ignored.
Definition: plugin.h:166
char * long_name
Humanized name for GUI widgets.
Definition: plugin.h:265
int(* button_callback)(void *data, int x, int y, int button, int mask)
Mouse button callback.
Definition: plugin.h:1168
void(* set_overlay_parameter)(void *priv, int stream, const char *name, const bg_parameter_value_t *v)
Set text subtitle encoding parameter.
Definition: plugin.h:1752
int(* open)(void *priv, gavl_audio_format_t *format)
Open plugin.
Definition: plugin.h:950
void(* close)(void *priv)
Free an overlay created with the create_overlay() method.
Definition: plugin.h:1403
Image writer.
Definition: plugin.h:204
bg_plugin_type_t type
Type.
Definition: plugin.h:266
Video recorder.
Definition: plugin.h:196
void(* draw_frame)(void *priv, gavl_video_frame_t *frame)
Draw an image.
Definition: plugin.h:2329
int(* motion_callback)(void *data, int x, int y, int mask)
Motion callback.
Definition: plugin.h:1189
Audio output.
Definition: plugin.h:193
int(* add_audio_stream)(void *priv, const gavl_metadata_t *m, const gavl_audio_format_t *format)
Add an audio stream.
Definition: plugin.h:1607
Stream is switched on and will be decoded.
Definition: plugin.h:167
int(* key_callback)(void *data, int key, int mask)
Keyboard callback.
Definition: plugin.h:1148
void(* update)(void *priv, gavl_audio_frame_t *frame)
Send audio data to the plugin.
Definition: plugin.h:2318
void(* bg_set_parameter_func_t)(void *data, const char *name, const bg_parameter_value_t *v)
Generic prototype for setting parameters in a module.
Definition: parameter.h:205
int(* button_release_callback)(void *data, int x, int y, int button, int mask)
Mouse button release callback.
Definition: plugin.h:1179
void(* close)(void *priv)
Close plugin.
Definition: plugin.h:1092
Callbacks for the image writer plugin.
Definition: plugin.h:2042
int(* write_image)(void *priv, gavl_video_frame_t *frame)
Write the image.
Definition: plugin.h:2104
void(* metadata_changed)(void *data, const gavl_metadata_t *m)
Name changed.
Definition: plugin.h:1023
int(* bg_read_video_func_t)(void *priv, gavl_video_frame_t *frame, int stream)
Generic prototype for reading video.
Definition: plugin.h:96
void(* set_window_title)(void *priv, const char *title)
Set window title.
Definition: plugin.h:1298
int(* add_overlay_stream)(void *priv, const gavl_metadata_t *m, const gavl_video_format_t *format)
Add a text subtitle stream.
Definition: plugin.h:1695
Audio/Video recorder.
Definition: plugin.h:208
const char * mimetypes
Supported mimetypes.
Definition: plugin.h:1993
int(* bg_read_audio_func_t)(void *priv, gavl_audio_frame_t *frame, int stream, int num_samples)
Generic prototype for reading audio.
Definition: plugin.h:81
void(* show_window)(void *priv, int show)
Show or hide the window.
Definition: plugin.h:1409
void(* set_callbacks)(void *priv, bg_encoder_callbacks_t *cb)
Set callbacks.
Definition: plugin.h:1485
char * gettext_directory
Second argument for bindtextdomain().
Definition: plugin.h:262
int max_text_streams
Maximum number of text subtitle streams. -1 means infinite.
Definition: plugin.h:1477
int(* open_io)(void *data, gavf_io_t *io, const gavl_metadata_t *metadata, const gavl_chapter_list_t *chapter_list)
Open an encoder with a gavf IO handle.
Definition: plugin.h:1548
Media input.
Definition: plugin.h:192
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition: plugin.h:2198
void(* handle_events)(void *priv)
Get all events from the queue and handle them.
Definition: plugin.h:1378
void(* set_callbacks)(void *priv, bg_e_pp_callbacks_t *callbacks)
Set callbacks.
Definition: plugin.h:1917
int(* start)(void *priv)
Set up all codecs and prepare for encoding.
Definition: plugin.h:1775
char * supported_extensions
Supported file extensions (space separated)
Definition: plugin.h:1909
int max_audio_streams
Maximum number of audio streams. -1 means infinite.
Definition: plugin.h:1475
Base structure common to all plugins.
Definition: plugin.h:259
void(* set_callbacks)(void *priv, bg_iw_callbacks_t *cb)
Set callbacks.
Definition: plugin.h:2079
Container for a parameter value.
Definition: parameter.h:82
Visualization.
Definition: plugin.h:207
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition: plugin.h:2364
Video filter plugin.
Definition: plugin.h:2196
void(* brightness_callback)(void *data, float val)
Brightness change callback.
Definition: plugin.h:1205
int(* add_overlay_stream_compressed)(void *priv, const gavl_metadata_t *m, const gavl_video_format_t *format, const gavl_compression_info_t *ci)
Add an overlay subtitle stream.
Definition: plugin.h:1678
int(* open)(void *data, const char *filename, const gavl_metadata_t *metadata, const gavl_chapter_list_t *chapter_list)
Open a file.
Definition: plugin.h:1536
int(* writes_compressed_audio)(void *priv, const gavl_audio_format_t *format, const gavl_compression_info_t *info)
Query for writing compressed audio packets.
Definition: plugin.h:1496
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition: plugin.h:1044
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition: plugin.h:939
int(* add_video_stream_compressed)(void *priv, const gavl_metadata_t *m, const gavl_video_format_t *format, const gavl_compression_info_t *info)
Add a video stream for compressed writing.
Definition: plugin.h:1651
bg_plugin_type_t
Plugin types.
Definition: plugin.h:189
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition: plugin.h:1904
int max_overlay_streams
Maximum number of overlay subtitle streams. -1 means infinite.
Definition: plugin.h:1478
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition: plugin.h:2070
Track info.
Definition: streaminfo.h:255
Audio filter.
Definition: plugin.h:205
void * data
Application specific data passed as the first argument to all callbacks.
Definition: plugin.h:1234
int(* close)(void *data, int do_delete)
Close encoder.
Definition: plugin.h:1843
Video output plugin.
Definition: plugin.h:1253
int(* create_output_file)(void *data, const char *filename)
Output file callback.
Definition: plugin.h:2053
int(* init)(void *priv)
Initialize.
Definition: plugin.h:1926
Video filter.
Definition: plugin.h:206
void(* run)(void *priv, const char *directory, int cleanup)
Start postprocessing.
Definition: plugin.h:1956
int64_t(* skip)(void *priv, int64_t t)
Skip to a time.
Definition: plugin.h:2476
Encoder for text subtitles only.
Definition: plugin.h:199
bg_read_audio_func_t read_audio
Read audio samples.
Definition: plugin.h:1072
void(* close)(void *priv)
Close plugin.
Definition: plugin.h:992
void(* close)(void *priv)
Close a plugin.
Definition: plugin.h:2345
void(* hue_callback)(void *data, float val)
Hue change callback.
Definition: plugin.h:1232
int max_video_streams
Maximum number of video streams. -1 means infinite.
Definition: plugin.h:1476
void(* stop)(void *priv)
Stop postprocessing.
Definition: plugin.h:1967
int(* open)(void *priv, gavl_audio_format_t *audio_format, gavl_video_format_t *video_format, gavl_metadata_t *m)
Open plugin.
Definition: plugin.h:1067