26#include <gavl/compression.h>
27#include <gavl/connectors.h>
28#include <gavl/metadata.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);
519 const gavl_edl_t * (*get_edl)(
void * priv);
528 const char * (*get_disc_name)(
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);
966 gavl_audio_sink_t * (*get_sink)(
void * priv);
1078 gavl_audio_source_t * (*get_audio_source)(
void * priv);
1087 gavl_video_source_t * (*get_video_source)(
void * priv);
1275 const char * (*get_window)(
void * priv);
1369 gavl_video_sink_t * (*get_sink)(
void * priv);
1537 int (*
open)(
void * data,
const char * filename,
1538 const gavl_metadata_t * metadata,
1539 const gavl_chapter_list_t * chapter_list);
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,
1766 const char * stats_file);
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);
1946 gavl_metadata_t * metadata,
int pp_only);
1957 void (*
run)(
void * priv,
const char * directory,
int cleanup);
2011 const gavl_metadata_t * (*get_metadata)(
void * priv);
2171 gavl_audio_source_t * (*connect)(
void * priv, gavl_audio_source_t *,
2227 gavl_video_source_t * (*connect)(
void * priv,
2228 gavl_video_source_t * src,
2305 const char * window_id);
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);
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);
struct gavl_audio_options_s gavl_audio_options_t
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(* 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_stream_action_t
Stream actions.
Definition plugin.h:166
@ BG_STREAM_ACTION_READRAW
Stream will be read in compressed form.
Definition plugin.h:169
@ BG_STREAM_ACTION_OFF
Stream is switched off and will be ignored.
Definition plugin.h:167
@ BG_STREAM_ACTION_DECODE
Stream is switched on and will be decoded.
Definition plugin.h:168
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
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 bg_device_info_destroy(bg_device_info_t *arr)
Free an array of device descriptions.
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.
bg_plugin_type_t
Plugin types.
Definition plugin.h:191
@ BG_PLUGIN_ENCODER_OVERLAY
Encoder for overlay subtitles only.
Definition plugin.h:201
@ BG_PLUGIN_ENCODER_VIDEO
Encoder for video only.
Definition plugin.h:199
@ BG_PLUGIN_ENCODER_PP
Encoder postprocessor (e.g. CD burner)
Definition plugin.h:203
@ BG_PLUGIN_CODEC
Audio/Video (de)compressor.
Definition plugin.h:210
@ BG_PLUGIN_IMAGE_READER
Image reader.
Definition plugin.h:204
@ BG_PLUGIN_RECORDER_VIDEO
Video recorder.
Definition plugin.h:197
@ BG_PLUGIN_VISUALIZATION
Visualization.
Definition plugin.h:208
@ BG_PLUGIN_NONE
None or undefined.
Definition plugin.h:192
@ BG_PLUGIN_FILTER_AUDIO
Audio filter.
Definition plugin.h:206
@ BG_PLUGIN_AV_RECORDER
Audio/Video recorder.
Definition plugin.h:209
@ BG_PLUGIN_FILTER_VIDEO
Video filter.
Definition plugin.h:207
@ BG_PLUGIN_ENCODER_AUDIO
Encoder for audio only.
Definition plugin.h:198
@ BG_PLUGIN_IMAGE_WRITER
Image writer.
Definition plugin.h:205
@ BG_PLUGIN_OUTPUT_AUDIO
Audio output.
Definition plugin.h:194
@ BG_PLUGIN_ENCODER
Encoder for multiple kinds of streams.
Definition plugin.h:202
@ BG_PLUGIN_OUTPUT_VIDEO
Video output.
Definition plugin.h:195
@ BG_PLUGIN_INPUT
Media input.
Definition plugin.h:193
@ BG_PLUGIN_ENCODER_TEXT
Encoder for text subtitles only.
Definition plugin.h:200
@ BG_PLUGIN_RECORDER_AUDIO
Audio recorder.
Definition plugin.h:196
struct gavl_video_options_s gavl_video_options_t
Codec plugin.
Definition plugin.h:2364
int64_t(* skip)(void *priv, int64_t t)
Skip to a time.
Definition plugin.h:2477
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition plugin.h:2365
void(* set_packet_sink)(void *priv, gavl_packet_sink_t *s)
Set a packet sink.
Definition plugin.h:2418
int(* set_pass)(void *priv, int pass, int total_passes, const char *stats_file)
Set pass for an encoder.
Definition plugin.h:2486
void(* reset)(void *priv)
Reset a decoder.
Definition plugin.h:2469
Device description.
Definition plugin.h:222
char * device
String, which can be passed to the open() method.
Definition plugin.h:223
char * name
More humanized description, might be NULL.
Definition plugin.h:224
Callbacks for postprocessing.
Definition plugin.h:1867
void * data
Application specific data passed as the first argument to all callbacks.
Definition plugin.h:1887
Callbacks for the encoder plugin.
Definition plugin.h:1435
int(* create_temp_file)(void *data, const char *filename)
Temp file callback.
Definition plugin.h:1455
int(* create_output_file)(void *data, const char *filename)
Output file callback.
Definition plugin.h:1445
void * data
Application specific data passed as the first argument to all callbacks.
Definition plugin.h:1457
Encoder plugin.
Definition plugin.h:1473
void(* set_callbacks)(void *priv, bg_encoder_callbacks_t *cb)
Set callbacks.
Definition plugin.h:1486
int(* add_text_stream)(void *priv, const gavl_metadata_t *m, uint32_t *timescale)
Add a text subtitle stream.
Definition plugin.h:1663
int max_video_streams
Maximum number of video streams. -1 means infinite.
Definition plugin.h:1477
void(* set_video_parameter)(void *priv, int stream, const char *name, const bg_parameter_value_t *v)
Set video encoding parameter.
Definition plugin.h:1726
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:1497
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:1549
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:1753
int max_text_streams
Maximum number of text subtitle streams. -1 means infinite.
Definition plugin.h:1478
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:1679
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition plugin.h:1474
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:1739
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:1523
int(* close)(void *data, int do_delete)
Close encoder.
Definition plugin.h:1844
int(* start)(void *priv)
Set up all codecs and prepare for encoding.
Definition plugin.h:1776
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:1696
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:1623
int(* set_video_pass)(void *priv, int stream, int pass, int total_passes, const char *stats_file)
Setup multipass video encoding.
Definition plugin.h:1765
int(* add_audio_stream)(void *priv, const gavl_metadata_t *m, const gavl_audio_format_t *format)
Add an audio stream.
Definition plugin.h:1608
int max_overlay_streams
Maximum number of overlay subtitle streams. -1 means infinite.
Definition plugin.h:1479
void(* update_metadata)(void *priv, const gavl_metadata_t *m)
Update metadata.
Definition plugin.h:1834
int(* add_video_stream)(void *priv, const gavl_metadata_t *m, const gavl_video_format_t *format)
Add a video stream.
Definition plugin.h:1637
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:1652
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:1537
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:1510
int max_audio_streams
Maximum number of audio streams. -1 means infinite.
Definition plugin.h:1476
void(* set_audio_parameter)(void *priv, int stream, const char *name, const bg_parameter_value_t *v)
Set audio encoding parameter.
Definition plugin.h:1712
Encoding postprocessor.
Definition plugin.h:1904
void(* set_callbacks)(void *priv, bg_e_pp_callbacks_t *callbacks)
Set callbacks.
Definition plugin.h:1918
int max_video_streams
Maximum number of video streams. -1 means infinite.
Definition plugin.h:1908
void(* add_track)(void *priv, const char *filename, gavl_metadata_t *metadata, int pp_only)
Add a transcoded track.
Definition plugin.h:1945
int(* init)(void *priv)
Initialize.
Definition plugin.h:1927
char * supported_extensions
Supported file extensions (space separated)
Definition plugin.h:1910
int max_audio_streams
Maximum number of audio streams. -1 means infinite.
Definition plugin.h:1907
void(* stop)(void *priv)
Stop postprocessing.
Definition plugin.h:1968
void(* run)(void *priv, const char *directory, int cleanup)
Start postprocessing.
Definition plugin.h:1957
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition plugin.h:1905
Audio filter plugin.
Definition plugin.h:2151
void(* reset)(void *priv)
Reset.
Definition plugin.h:2160
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition plugin.h:2152
int(* need_restart)(void *priv)
Report, if the plugin must be reinitialized.
Definition plugin.h:2183
Video filter plugin.
Definition plugin.h:2198
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition plugin.h:2199
void(* reset)(void *priv)
Reset.
Definition plugin.h:2207
int(* need_restart)(void *priv)
Report, if the plugin must be reinitialized.
Definition plugin.h:2218
Image reader plugin.
Definition plugin.h:1991
int(* read_header)(void *priv, const char *filename, gavl_video_format_t *format)
Read the file header.
Definition plugin.h:2003
int(* read_image)(void *priv, gavl_video_frame_t *frame)
Read the image.
Definition plugin.h:2030
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition plugin.h:1992
const char * extensions
Supported file extensions (space separated)
Definition plugin.h:1993
int(* get_compression_info)(void *priv, gavl_compression_info_t *ci)
Get compression info.
Definition plugin.h:2019
const char * mimetypes
Supported mimetypes.
Definition plugin.h:1994
Image writer plugin.
Definition plugin.h:2070
int(* write_image)(void *priv, gavl_video_frame_t *frame)
Write the image.
Definition plugin.h:2105
const char * mimetypes
Supported mimetypes.
Definition plugin.h:2073
const char * extensions
File extensions (space separated)
Definition plugin.h:2072
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:2092
void(* set_callbacks)(void *priv, bg_iw_callbacks_t *cb)
Set callbacks.
Definition plugin.h:2080
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition plugin.h:2071
Callbacks for the image writer plugin.
Definition plugin.h:2044
int(* create_output_file)(void *data, const char *filename)
Output file callback.
Definition plugin.h:2054
void * data
Application specific data passed as the first argument to all callbacks.
Definition plugin.h:2056
Audio output plugin.
Definition plugin.h:939
int(* open)(void *priv, gavl_audio_format_t *format)
Open plugin.
Definition plugin.h:951
void(* close)(void *priv)
Close plugin.
Definition plugin.h:993
void(* stop)(void *priv)
Stop playback.
Definition plugin.h:985
int(* get_delay)(void *priv)
Get the number of buffered audio samples.
Definition plugin.h:976
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition plugin.h:940
int(* start)(void *priv)
Start playback.
Definition plugin.h:959
Callbacks for the video output plugin.
Definition plugin.h:1120
int(* button_callback)(void *data, int x, int y, int button, int mask)
Mouse button callback.
Definition plugin.h:1169
int(* motion_callback)(void *data, int x, int y, int mask)
Motion callback.
Definition plugin.h:1190
int(* key_release_callback)(void *data, int key, int mask)
Keyboard release callback.
Definition plugin.h:1158
void(* hue_callback)(void *data, float val)
Hue change callback.
Definition plugin.h:1233
void(* show_window)(void *data, int show)
Show/hide callback.
Definition plugin.h:1197
void(* contrast_callback)(void *data, float val)
Contrast change callback.
Definition plugin.h:1224
int(* key_callback)(void *data, int key, int mask)
Keyboard callback.
Definition plugin.h:1149
void(* brightness_callback)(void *data, float val)
Brightness change callback.
Definition plugin.h:1206
void(* saturation_callback)(void *data, float val)
Saturation change callback.
Definition plugin.h:1215
int(* accel_callback)(void *data, int id)
Keyboard callback.
Definition plugin.h:1134
int(* button_release_callback)(void *data, int x, int y, int button, int mask)
Mouse button release callback.
Definition plugin.h:1180
const bg_accelerator_map_t * accel_map
Accelerator map.
Definition plugin.h:1127
void * data
Application specific data passed as the first argument to all callbacks.
Definition plugin.h:1235
Video output plugin.
Definition plugin.h:1255
void(* update_aspect)(void *priv, int pixel_width, int pixel_height)
Update aspect ratio.
Definition plugin.h:1387
void(* show_window)(void *priv, int show)
Show or hide the window.
Definition plugin.h:1410
void(* handle_events)(void *priv)
Get all events from the queue and handle them.
Definition plugin.h:1379
int(* open)(void *priv, gavl_video_format_t *format, int keep_aspect)
Open plugin.
Definition plugin.h:1319
void(* set_window)(void *priv, const char *window_id)
Set window.
Definition plugin.h:1268
void(* close)(void *priv)
Free an overlay created with the create_overlay() method.
Definition plugin.h:1404
void(* set_window_title)(void *priv, const char *title)
Set window title.
Definition plugin.h:1299
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition plugin.h:1256
void(* set_callbacks)(void *priv, bg_ov_callbacks_t *callbacks)
Set callbacks.
Definition plugin.h:1307
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:1289
Parmeter description.
Definition parameter.h:135
Base structure common to all plugins.
Definition plugin.h:261
char * name
Unique short name.
Definition plugin.h:265
char * description
Textual description.
Definition plugin.h:270
char * long_name
Humanized name for GUI widgets.
Definition plugin.h:266
bg_plugin_type_t type
Type.
Definition plugin.h:267
void(* destroy)(void *priv)
Destroy plugin instance.
Definition plugin.h:295
bg_get_parameter_func_t get_parameter
Get configuration parameter (optional)
Definition plugin.h:317
int flags
Flags (see defines)
Definition plugin.h:268
char * gettext_domain
First argument for bindtextdomain().
Definition plugin.h:262
bg_set_parameter_func_t set_parameter
Set configuration parameter (optional)
Definition plugin.h:309
int(* check_device)(const char *device, char **name)
Check, if a device can be opened by the plugin (optional)
Definition plugin.h:328
char * gettext_directory
Second argument for bindtextdomain().
Definition plugin.h:263
int priority
Priority (between 1 and 10).
Definition plugin.h:278
Callbacks for recorder plugins.
Definition plugin.h:1016
void * data
Application specific data passed as the first argument to all callbacks.
Definition plugin.h:1026
void(* metadata_changed)(void *data, const gavl_metadata_t *m)
Name changed.
Definition plugin.h:1024
Recorder.
Definition plugin.h:1044
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:1068
void(* close)(void *priv)
Close plugin.
Definition plugin.h:1093
bg_read_audio_func_t read_audio
Read audio samples.
Definition plugin.h:1073
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition plugin.h:1045
void(* set_callbacks)(void *priv, bg_recorder_callbacks_t *callbacks)
Set callbacks.
Definition plugin.h:1056
bg_read_video_func_t read_video
Read video frame.
Definition plugin.h:1082
Track info.
Definition streaminfo.h:256
Audio visualization plugin.
Definition plugin.h:2270
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:2291
bg_plugin_common_t common
Infos and functions common to all plugin types.
Definition plugin.h:2271
void(* close)(void *priv)
Close a plugin.
Definition plugin.h:2346
int(* open_win)(void *priv, gavl_audio_format_t *audio_format, const char *window_id)
Open a window based visualization plugin.
Definition plugin.h:2304
void(* draw_frame)(void *priv, gavl_video_frame_t *frame)
Draw an image.
Definition plugin.h:2330
void(* show_frame)(void *priv)
Show the image.
Definition plugin.h:2340
void(* set_callbacks)(void *priv, bg_ov_callbacks_t *cb)
return callback
Definition plugin.h:2278
void(* update)(void *priv, gavl_audio_frame_t *frame)
Send audio data to the plugin.
Definition plugin.h:2319
Container for a parameter value.
Definition parameter.h:83