1 /* gstreamer-audio-1.0.vapi generated by vapigen, do not modify. */
3 [CCode (cprefix = "Gst", gir_namespace = "GstAudio", gir_version = "1.0", lower_case_cprefix = "gst_")]
6 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_aggregator_get_type ()")]
7 [GIR (name = "AudioAggregator")]
8 public abstract class Aggregator : Gst.Base.Aggregator {
9 public weak Gst.Caps current_caps;
10 [CCode (has_construct_function = false)]
11 protected Aggregator ();
13 public virtual bool aggregate_one_buffer (Gst.Audio.AggregatorPad pad, Gst.Buffer inbuf, uint in_offset, Gst.Buffer outbuf, uint out_offset, uint num_frames);
15 public virtual Gst.Buffer create_output_buffer (uint num_frames);
16 public void set_sink_caps (Gst.Audio.AggregatorPad pad, Gst.Caps caps);
18 public uint64 alignment_threshold { get; set; }
20 public uint64 discont_wait { get; set; }
22 public uint64 output_buffer_duration { get; set; }
24 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_aggregator_convert_pad_get_type ()")]
25 [GIR (name = "AudioAggregatorConvertPad")]
26 public class AggregatorConvertPad : Gst.Audio.AggregatorPad {
27 [CCode (has_construct_function = false)]
28 protected AggregatorConvertPad ();
30 public Gst.Structure converter_config { owned get; set; }
32 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_aggregator_pad_get_type ()")]
33 [GIR (name = "AudioAggregatorPad")]
34 public class AggregatorPad : Gst.Base.AggregatorPad {
35 public weak Gst.Audio.Info info;
36 [CCode (has_construct_function = false)]
37 protected AggregatorPad ();
39 public virtual Gst.Buffer convert_buffer (Gst.Audio.Info in_info, Gst.Audio.Info out_info, Gst.Buffer buffer);
41 public virtual void update_conversion_info ();
43 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_base_sink_get_type ()")]
44 [GIR (name = "AudioBaseSink")]
45 public class BaseSink : Gst.Base.Sink {
46 public bool eos_rendering;
47 public uint64 next_sample;
48 public Gst.Clock provided_clock;
49 public weak Gst.Audio.RingBuffer ringbuffer;
50 [CCode (has_construct_function = false)]
51 protected BaseSink ();
52 public virtual unowned Gst.Audio.RingBuffer create_ringbuffer ();
53 public Gst.ClockTime get_alignment_threshold ();
54 public Gst.ClockTime get_discont_wait ();
55 public int64 get_drift_tolerance ();
56 public bool get_provide_clock ();
57 public Gst.Audio.BaseSinkSlaveMethod get_slave_method ();
59 public virtual Gst.Buffer payload (Gst.Buffer buffer);
60 [Version (since = "1.6")]
61 public void report_device_failure ();
62 public void set_alignment_threshold (Gst.ClockTime alignment_threshold);
63 [Version (since = "1.6")]
64 public void set_custom_slaving_callback (owned Gst.Audio.BaseSinkCustomSlavingCallback callback);
65 public void set_discont_wait (Gst.ClockTime discont_wait);
66 public void set_drift_tolerance (int64 drift_tolerance);
67 public void set_provide_clock (bool provide);
68 public void set_slave_method (Gst.Audio.BaseSinkSlaveMethod method);
69 public uint64 alignment_threshold { get; set; }
71 public int64 buffer_time { get; set; }
73 public bool can_activate_pull { get; set; }
74 public uint64 discont_wait { get; set; }
75 public int64 drift_tolerance { get; set; }
77 public int64 latency_time { get; set; }
78 public bool provide_clock { get; set; }
79 public Gst.Audio.BaseSinkSlaveMethod slave_method { get; set; }
81 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_base_src_get_type ()")]
82 [GIR (name = "AudioBaseSrc")]
83 public class BaseSrc : Gst.Base.PushSrc {
84 public weak Gst.Clock clock;
85 public uint64 next_sample;
86 public weak Gst.Audio.RingBuffer ringbuffer;
87 [CCode (has_construct_function = false)]
89 public virtual unowned Gst.Audio.RingBuffer create_ringbuffer ();
90 public bool get_provide_clock ();
91 public Gst.Audio.BaseSrcSlaveMethod get_slave_method ();
92 public void set_provide_clock (bool provide);
93 public void set_slave_method (Gst.Audio.BaseSrcSlaveMethod method);
95 public int64 actual_buffer_time { get; }
97 public int64 actual_latency_time { get; }
99 public int64 buffer_time { get; set; }
101 public int64 latency_time { get; set; }
102 public bool provide_clock { get; set; }
103 public Gst.Audio.BaseSrcSlaveMethod slave_method { get; set; }
105 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_cd_src_get_type ()")]
106 [GIR (name = "AudioCdSrc")]
107 public class CdSrc : Gst.Base.PushSrc, Gst.URIHandler {
108 public weak Gst.TagList tags;
109 [CCode (has_construct_function = false)]
111 public bool add_track (Gst.Audio.CdSrcTrack track);
113 public virtual void close ();
115 public virtual bool open (string device);
117 public virtual Gst.Buffer read_sector (int sector);
119 public string device { owned get; set; }
121 public Gst.Audio.CdSrcMode mode { get; set; }
123 public uint track { get; set; }
125 [CCode (cheader_filename = "gst/audio/audio.h", has_type_id = false)]
127 [GIR (name = "AudioChannelMixer")]
128 public class ChannelMixer {
130 public bool is_passthrough ();
131 public void samples (void* @in, void* @out, int samples);
133 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_clock_get_type ()")]
134 [GIR (name = "AudioClock")]
135 public class Clock : Gst.SystemClock {
136 [CCode (has_construct_function = false, type = "GstClock*")]
137 public Clock (string name, owned Gst.Audio.ClockGetTimeFunc func);
138 public Gst.ClockTime adjust (Gst.ClockTime time);
139 public Gst.ClockTime get_time ();
140 public void invalidate ();
141 public void reset (Gst.ClockTime time);
143 [CCode (cheader_filename = "gst/audio/audio.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_audio_converter_get_type ()")]
145 [GIR (name = "AudioConverter")]
146 public class Converter {
147 [CCode (has_construct_function = false)]
148 public Converter (Gst.Audio.ConverterFlags flags, Gst.Audio.Info in_info, Gst.Audio.Info out_info, owned Gst.Structure? config);
149 [Version (since = "1.14")]
150 public bool convert (Gst.Audio.ConverterFlags flags, [CCode (array_length_cname = "in_size", array_length_pos = 2.5, array_length_type = "gsize")] uint8[] @in, [CCode (array_length_cname = "out_size", array_length_pos = 3.1, array_length_type = "gsize")] out uint8[] @out);
152 public unowned Gst.Structure get_config (out int in_rate, out int out_rate);
153 public size_t get_in_frames (size_t out_frames);
154 public size_t get_max_latency ();
155 public size_t get_out_frames (size_t in_frames);
156 public void reset ();
157 public bool samples (Gst.Audio.ConverterFlags flags, void* @in, size_t in_frames, void* @out, size_t out_frames);
158 public bool supports_inplace ();
159 public bool update_config (int in_rate, int out_rate, owned Gst.Structure? config);
161 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_decoder_get_type ()")]
162 [GIR (name = "AudioDecoder")]
163 public abstract class Decoder : Gst.Element {
164 public weak Gst.Segment input_segment;
165 public weak Gst.Segment output_segment;
166 public weak Gst.Pad sinkpad;
167 public weak Gst.Pad srcpad;
168 public GLib.RecMutex stream_lock;
169 [CCode (has_construct_function = false)]
170 protected Decoder ();
171 public Gst.Buffer allocate_output_buffer (size_t size);
173 public virtual bool close ();
175 public virtual bool decide_allocation (Gst.Query query);
176 public Gst.FlowReturn finish_frame (Gst.Buffer buf, int frames);
178 public virtual void flush (bool hard);
179 public void get_allocator (out Gst.Allocator allocator, out Gst.AllocationParams @params);
180 public Gst.Audio.Info get_audio_info ();
181 public int get_delay ();
182 public bool get_drainable ();
183 public int get_estimate_rate ();
184 public void get_latency (out Gst.ClockTime min, out Gst.ClockTime max);
185 public int get_max_errors ();
186 public Gst.ClockTime get_min_latency ();
187 public bool get_needs_format ();
188 public void get_parse_state (out bool sync, out bool eos);
189 public bool get_plc ();
190 public int get_plc_aware ();
191 public Gst.ClockTime get_tolerance ();
193 public virtual Gst.Caps getcaps (Gst.Caps filter);
195 public virtual Gst.FlowReturn handle_frame (Gst.Buffer buffer);
196 public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
197 public virtual bool negotiate ();
199 public virtual bool open ();
201 public virtual Gst.FlowReturn parse (Gst.Base.Adapter adapter, int offset, int length);
203 public virtual Gst.FlowReturn pre_push (Gst.Buffer buffer);
205 public virtual bool propose_allocation (Gst.Query query);
206 [Version (since = "1.6")]
207 public Gst.Caps proxy_getcaps (Gst.Caps? caps, Gst.Caps? filter);
208 [Version (since = "1.10")]
209 public void set_allocation_caps (Gst.Caps? allocation_caps);
210 public void set_drainable (bool enabled);
211 public void set_estimate_rate (bool enabled);
213 public virtual bool set_format (Gst.Caps caps);
214 public void set_latency (Gst.ClockTime min, Gst.ClockTime max);
215 public void set_max_errors (int num);
216 public void set_min_latency (Gst.ClockTime num);
217 public void set_needs_format (bool enabled);
218 public bool set_output_format (Gst.Audio.Info info);
219 public void set_plc (bool enabled);
220 public void set_plc_aware (bool plc);
221 public void set_tolerance (Gst.ClockTime tolerance);
222 [Version (since = "1.6")]
223 public void set_use_default_pad_acceptcaps (bool use);
225 public virtual bool sink_event (Gst.Event event);
227 public virtual bool sink_query (Gst.Query query);
229 public virtual bool src_event (Gst.Event event);
231 public virtual bool src_query (Gst.Query query);
233 public virtual bool start ();
235 public virtual bool stop ();
237 public virtual bool transform_meta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer inbuf);
238 public int64 min_latency { get; set; }
239 public bool plc { get; set; }
240 public int64 tolerance { get; set; }
242 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_encoder_get_type ()")]
243 [GIR (name = "AudioEncoder")]
244 public abstract class Encoder : Gst.Element, Gst.Preset {
245 public weak Gst.Segment input_segment;
246 public weak Gst.Segment output_segment;
247 public weak Gst.Pad sinkpad;
248 public weak Gst.Pad srcpad;
249 public GLib.RecMutex stream_lock;
250 [CCode (has_construct_function = false)]
251 protected Encoder ();
252 public Gst.Buffer allocate_output_buffer (size_t size);
254 public virtual bool close ();
256 public virtual bool decide_allocation (Gst.Query query);
257 public Gst.FlowReturn finish_frame (Gst.Buffer buffer, int samples);
259 public virtual void flush ();
260 public void get_allocator (out Gst.Allocator allocator, out Gst.AllocationParams @params);
261 public Gst.Audio.Info get_audio_info ();
262 public bool get_drainable ();
263 public int get_frame_max ();
264 public int get_frame_samples_max ();
265 public int get_frame_samples_min ();
266 public bool get_hard_min ();
267 public bool get_hard_resync ();
268 public void get_latency (out Gst.ClockTime min, out Gst.ClockTime max);
269 public int get_lookahead ();
270 public bool get_mark_granule ();
271 public bool get_perfect_timestamp ();
272 public Gst.ClockTime get_tolerance ();
274 public virtual Gst.Caps getcaps (Gst.Caps filter);
276 public virtual Gst.FlowReturn handle_frame (Gst.Buffer buffer);
277 public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
278 public virtual bool negotiate ();
280 public virtual bool open ();
282 public virtual Gst.FlowReturn pre_push (Gst.Buffer buffer);
284 public virtual bool propose_allocation (Gst.Query query);
285 public Gst.Caps proxy_getcaps (Gst.Caps? caps, Gst.Caps? filter);
286 [Version (since = "1.10")]
287 public void set_allocation_caps (Gst.Caps? allocation_caps);
288 public void set_drainable (bool enabled);
290 public virtual bool set_format (Gst.Audio.Info info);
291 public void set_frame_max (int num);
292 public void set_frame_samples_max (int num);
293 public void set_frame_samples_min (int num);
294 public void set_hard_min (bool enabled);
295 public void set_hard_resync (bool enabled);
296 public void set_headers (owned GLib.List<Gst.Buffer> headers);
297 public void set_latency (Gst.ClockTime min, Gst.ClockTime max);
298 public void set_lookahead (int num);
299 public void set_mark_granule (bool enabled);
300 public bool set_output_format (Gst.Caps caps);
301 public void set_perfect_timestamp (bool enabled);
302 public void set_tolerance (Gst.ClockTime tolerance);
304 public virtual bool sink_event (Gst.Event event);
306 public virtual bool sink_query (Gst.Query query);
308 public virtual bool src_event (Gst.Event event);
310 public virtual bool src_query (Gst.Query query);
312 public virtual bool start ();
314 public virtual bool stop ();
316 public virtual bool transform_meta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer inbuf);
317 public bool hard_resync { get; set; }
318 public bool mark_granule { get; }
319 public bool perfect_timestamp { get; set; }
320 public int64 tolerance { get; set; }
322 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_filter_get_type ()")]
323 [GIR (name = "AudioFilter")]
324 public abstract class Filter : Gst.Base.Transform {
325 public weak Gst.Audio.Info info;
326 [CCode (has_construct_function = false)]
329 public virtual bool setup (Gst.Audio.Info info);
331 [CCode (cheader_filename = "gst/audio/audio.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_audio_info_get_type ()")]
333 [GIR (name = "AudioInfo")]
337 public Gst.Audio.FormatInfo finfo;
338 public Gst.Audio.Flags flags;
339 public Gst.Audio.Layout layout;
340 [CCode (array_length = false)]
341 public weak Gst.Audio.ChannelPosition position[64];
343 [CCode (has_construct_function = false)]
345 public bool convert (Gst.Format src_fmt, int64 src_val, Gst.Format dest_fmt, out int64 dest_val);
346 public Gst.Audio.Info copy ();
348 public bool from_caps (Gst.Caps caps);
350 [Version (since = "1.2")]
351 public bool is_equal (Gst.Audio.Info other);
352 public void set_format (Gst.Audio.Format format, int rate, int channels, [CCode (array_length = false)] Gst.Audio.ChannelPosition position[64]);
353 public Gst.Caps to_caps ();
355 [CCode (cheader_filename = "gst/audio/audio.h", has_type_id = false)]
357 [GIR (name = "AudioQuantize")]
358 public class Quantize {
360 public void reset ();
361 public void samples (void* @in, void* @out, uint samples);
363 [CCode (cheader_filename = "gst/audio/audio.h", has_type_id = false)]
365 [GIR (name = "AudioResampler")]
366 public class Resampler {
367 [CCode (has_construct_function = false)]
368 public Resampler (Gst.Audio.ResamplerMethod method, Gst.Audio.ResamplerFlags flags, Gst.Audio.Format format, int channels, int in_rate, int out_rate, Gst.Structure options);
369 [Version (since = "1.6")]
371 public size_t get_in_frames (size_t out_frames);
372 public size_t get_max_latency ();
373 public size_t get_out_frames (size_t in_frames);
374 public void resample (void* @in, size_t in_frames, void* @out, size_t out_frames);
375 public void reset ();
376 public bool update (int in_rate, int out_rate, Gst.Structure options);
378 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_ring_buffer_get_type ()")]
379 [GIR (name = "AudioRingBuffer")]
380 public abstract class RingBuffer : Gst.Object {
381 public bool acquired;
382 public GLib.Cond cond;
383 public uint8 empty_seg;
386 public int samples_per_seg;
390 public Gst.Audio.RingBufferSpec spec;
393 [CCode (has_construct_function = false)]
394 protected RingBuffer ();
395 public virtual bool acquire (Gst.Audio.RingBufferSpec spec);
396 public virtual bool activate (bool active);
397 public void advance (uint advance);
398 public void clear (int segment);
399 public virtual void clear_all ();
400 public virtual bool close_device ();
401 public virtual uint commit (uint64 sample, [CCode (array_length_cname = "in_samples", array_length_pos = 2.5)] uint8[] data, int out_samples, ref int accum);
402 public bool convert (Gst.Format src_fmt, int64 src_val, Gst.Format dest_fmt, out int64 dest_val);
403 public static void debug_spec_buff (Gst.Audio.RingBufferSpec spec);
404 public static void debug_spec_caps (Gst.Audio.RingBufferSpec spec);
405 public virtual uint delay ();
406 public bool device_is_open ();
407 public bool is_acquired ();
408 public bool is_active ();
409 public bool is_flushing ();
410 public void may_start (bool allowed);
411 public virtual bool open_device ();
412 public static bool parse_caps (Gst.Audio.RingBufferSpec spec, Gst.Caps caps);
413 public virtual bool pause ();
414 public bool prepare_read (out int segment, [CCode (array_length_cname = "len", array_length_pos = 2.1)] out uint8[] readptr);
415 public uint read (uint64 sample, [CCode (array_length_cname = "len", array_length_pos = 2.5, array_length_type = "guint")] uint8[] data, out Gst.ClockTime timestamp);
416 public virtual bool release ();
418 public virtual bool resume ();
419 public uint64 samples_done ();
420 [Version (since = "1.12")]
421 public void set_callback_full (owned Gst.Audio.RingBufferCallback? cb);
422 public void set_channel_positions ([CCode (array_length = false)] Gst.Audio.ChannelPosition[] position);
423 public void set_flushing (bool flushing);
424 public void set_sample (uint64 sample);
425 public void set_timestamp (int readseg, Gst.ClockTime timestamp);
426 public virtual bool start ();
427 public virtual bool stop ();
429 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_sink_get_type ()")]
430 [GIR (name = "AudioSink")]
431 public class Sink : Gst.Audio.BaseSink {
432 [CCode (has_construct_function = false)]
435 public virtual bool close ();
437 public virtual uint delay ();
439 public virtual bool open ();
441 public virtual bool prepare (Gst.Audio.RingBufferSpec spec);
443 public virtual void reset ();
445 public virtual bool unprepare ();
447 public virtual int write ([CCode (array_length_cname = "length", array_length_pos = 1.1, array_length_type = "guint", type = "gpointer")] uint8[] data);
449 [CCode (cheader_filename = "gst/audio/audio.h", type_id = "gst_audio_src_get_type ()")]
450 [GIR (name = "AudioSrc")]
451 public class Src : Gst.Audio.BaseSrc {
452 [CCode (has_construct_function = false)]
455 public virtual bool close ();
457 public virtual uint delay ();
459 public virtual bool open ();
461 public virtual bool prepare (Gst.Audio.RingBufferSpec spec);
463 public virtual uint read ([CCode (array_length_cname = "length", array_length_pos = 1.5, array_length_type = "guint", type = "gpointer")] uint8[] data, Gst.ClockTime timestamp);
465 public virtual void reset ();
467 public virtual bool unprepare ();
469 [CCode (cheader_filename = "gst/audio/audio.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_audio_stream_align_get_type ()")]
471 [GIR (name = "AudioStreamAlign")]
472 [Version (since = "1.14")]
473 public class StreamAlign {
474 [CCode (has_construct_function = false)]
475 public StreamAlign (int rate, Gst.ClockTime alignment_threshold, Gst.ClockTime discont_wait);
476 public Gst.Audio.StreamAlign copy ();
478 public Gst.ClockTime get_alignment_threshold ();
479 public Gst.ClockTime get_discont_wait ();
480 public int get_rate ();
481 public uint64 get_samples_since_discont ();
482 public Gst.ClockTime get_timestamp_at_discont ();
483 public void mark_discont ();
484 public bool process (bool discont, Gst.ClockTime timestamp, uint n_samples, out Gst.ClockTime out_timestamp, out Gst.ClockTime out_duration, out uint64 out_sample_position);
485 public void set_alignment_threshold (Gst.ClockTime alignment_threshold);
486 public void set_discont_wait (Gst.ClockTime discont_wait);
487 public void set_rate (int rate);
489 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GstStreamVolume", lower_case_cprefix = "gst_stream_volume_", type_cname = "GstStreamVolumeInterface", type_id = "gst_stream_volume_get_type ()")]
490 [GIR (name = "StreamVolume")]
491 public interface StreamVolume : GLib.Object {
492 public static double convert_volume (Gst.Audio.StreamVolumeFormat from, Gst.Audio.StreamVolumeFormat to, double val);
493 public bool get_mute ();
494 public double get_volume (Gst.Audio.StreamVolumeFormat format);
495 public void set_mute (bool mute);
496 public void set_volume (Gst.Audio.StreamVolumeFormat format, double val);
498 public abstract bool mute { get; set; }
500 public abstract double volume { get; set; }
502 [CCode (cheader_filename = "gst/audio/audio.h", has_type_id = false)]
503 [GIR (name = "AudioBuffer")]
504 [Version (since = "1.16")]
505 public struct Buffer {
506 public weak Gst.Audio.Info info;
507 public size_t n_samples;
510 public weak Gst.Buffer buffer;
511 public bool map (Gst.Audio.Info info, Gst.Buffer gstbuffer, Gst.MapFlags flags);
512 public void unmap ();
514 [CCode (cheader_filename = "gst/audio/audio.h", has_type_id = false)]
515 [GIR (name = "AudioCdSrcTrack")]
516 public struct CdSrcTrack {
517 public bool is_audio;
521 public weak Gst.TagList tags;
523 [CCode (cheader_filename = "gst/audio/audio.h", has_type_id = false)]
524 [GIR (name = "AudioClippingMeta")]
525 [Version (since = "1.8")]
526 public struct ClippingMeta {
527 public Gst.Meta meta;
528 public Gst.Format format;
532 [CCode (cheader_filename = "gst/audio/audio.h", has_type_id = false)]
533 [GIR (name = "AudioDownmixMeta")]
534 public struct DownmixMeta {
535 public Gst.Meta meta;
536 public Gst.Audio.ChannelPosition from_position;
537 public Gst.Audio.ChannelPosition to_position;
538 public int from_channels;
539 public int to_channels;
542 [CCode (cheader_filename = "gst/audio/audio.h", has_type_id = false)]
543 [GIR (name = "AudioFormatInfo")]
544 public struct FormatInfo {
545 public Gst.Audio.Format format;
546 public weak string name;
547 public weak string description;
548 public Gst.Audio.FormatFlags flags;
549 public int endianness;
552 [CCode (array_length = false)]
553 public weak uint8 silence[8];
554 public Gst.Audio.Format unpack_format;
555 public weak Gst.Audio.FormatUnpack unpack_func;
556 public weak Gst.Audio.FormatPack pack_func;
558 [CCode (cheader_filename = "gst/audio/audio.h", has_type_id = false)]
559 [GIR (name = "AudioMeta")]
560 [Version (since = "1.16")]
562 public Gst.Meta meta;
563 public weak Gst.Audio.Info info;
564 public size_t samples;
565 public size_t offsets;
567 [CCode (cheader_filename = "gst/audio/audio.h", has_type_id = false)]
568 [GIR (name = "AudioRingBufferSpec")]
569 public struct RingBufferSpec {
570 public weak Gst.Caps caps;
571 public Gst.Audio.RingBufferFormatType type;
572 public weak Gst.Audio.Info info;
573 public uint64 latency_time;
574 public uint64 buffer_time;
577 public int seglatency;
579 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_BASE_SINK_DISCONT_REASON_", type_id = "gst_audio_base_sink_discont_reason_get_type ()")]
580 [GIR (name = "AudioBaseSinkDiscontReason")]
581 [Version (since = "1.6")]
582 public enum BaseSinkDiscontReason {
590 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_BASE_SINK_SLAVE_", type_id = "gst_audio_base_sink_slave_method_get_type ()")]
591 [GIR (name = "AudioBaseSinkSlaveMethod")]
592 public enum BaseSinkSlaveMethod {
598 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_BASE_SRC_SLAVE_", type_id = "gst_audio_base_src_slave_method_get_type ()")]
599 [GIR (name = "AudioBaseSrcSlaveMethod")]
600 public enum BaseSrcSlaveMethod {
606 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_CD_SRC_MODE_", type_id = "gst_audio_cd_src_mode_get_type ()")]
607 [GIR (name = "AudioCdSrcMode")]
608 public enum CdSrcMode {
612 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_CHANNEL_MIXER_FLAGS_", type_id = "gst_audio_channel_mixer_flags_get_type ()")]
614 [GIR (name = "AudioChannelMixerFlags")]
615 public enum ChannelMixerFlags {
622 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_CHANNEL_POSITION_", type_id = "gst_audio_channel_position_get_type ()")]
623 [GIR (name = "AudioChannelPosition")]
624 public enum ChannelPosition {
634 FRONT_LEFT_OF_CENTER,
635 FRONT_RIGHT_OF_CENTER,
657 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_CONVERTER_FLAG_", type_id = "gst_audio_converter_flags_get_type ()")]
659 [GIR (name = "AudioConverterFlags")]
660 public enum ConverterFlags {
665 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_DITHER_", type_id = "gst_audio_dither_method_get_type ()")]
666 [GIR (name = "AudioDitherMethod")]
667 public enum DitherMethod {
673 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_FLAG_", type_id = "gst_audio_flags_get_type ()")]
675 [GIR (name = "AudioFlags")]
680 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_FORMAT_", type_id = "gst_audio_format_get_type ()")]
681 [GIR (name = "AudioFormat")]
730 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_FORMAT_FLAG_", type_id = "gst_audio_format_flags_get_type ()")]
732 [GIR (name = "AudioFormatFlags")]
733 public enum FormatFlags {
740 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_LAYOUT_", type_id = "gst_audio_layout_get_type ()")]
741 [GIR (name = "AudioLayout")]
746 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_NOISE_SHAPING_", type_id = "gst_audio_noise_shaping_method_get_type ()")]
747 [GIR (name = "AudioNoiseShapingMethod")]
748 public enum NoiseShapingMethod {
755 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_PACK_FLAG_", type_id = "gst_audio_pack_flags_get_type ()")]
757 [GIR (name = "AudioPackFlags")]
758 public enum PackFlags {
762 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_QUANTIZE_FLAG_", type_id = "gst_audio_quantize_flags_get_type ()")]
764 [GIR (name = "AudioQuantizeFlags")]
765 public enum QuantizeFlags {
769 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_", type_id = "gst_audio_resampler_filter_interpolation_get_type ()")]
770 [GIR (name = "AudioResamplerFilterInterpolation")]
771 public enum ResamplerFilterInterpolation {
776 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_RESAMPLER_FILTER_MODE_", type_id = "gst_audio_resampler_filter_mode_get_type ()")]
777 [GIR (name = "AudioResamplerFilterMode")]
778 public enum ResamplerFilterMode {
783 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_RESAMPLER_FLAG_", type_id = "gst_audio_resampler_flags_get_type ()")]
785 [GIR (name = "AudioResamplerFlags")]
786 public enum ResamplerFlags {
792 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_RESAMPLER_METHOD_", type_id = "gst_audio_resampler_method_get_type ()")]
793 [GIR (name = "AudioResamplerMethod")]
794 [Version (since = "1.6")]
795 public enum ResamplerMethod {
802 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_RING_BUFFER_FORMAT_TYPE_", type_id = "gst_audio_ring_buffer_format_type_get_type ()")]
803 [GIR (name = "AudioRingBufferFormatType")]
804 public enum RingBufferFormatType {
821 [CCode (cheader_filename = "gst/audio/audio.h", cprefix = "GST_AUDIO_RING_BUFFER_STATE_", type_id = "gst_audio_ring_buffer_state_get_type ()")]
822 [GIR (name = "AudioRingBufferState")]
823 public enum RingBufferState {
829 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GstStreamVolumeFormat", cprefix = "GST_STREAM_VOLUME_FORMAT_", has_type_id = false)]
830 [GIR (name = "StreamVolumeFormat")]
831 public enum StreamVolumeFormat {
836 [CCode (cheader_filename = "gst/audio/audio.h", instance_pos = 5.9)]
837 [Version (since = "1.6")]
838 public delegate void BaseSinkCustomSlavingCallback (Gst.Audio.BaseSink sink, Gst.ClockTime etime, Gst.ClockTime itime, Gst.ClockTimeDiff requested_skew, Gst.Audio.BaseSinkDiscontReason discont_reason);
839 [CCode (cheader_filename = "gst/audio/audio.h", instance_pos = 1.9)]
840 public delegate Gst.ClockTime ClockGetTimeFunc (Gst.Clock clock);
841 [CCode (cheader_filename = "gst/audio/audio.h", has_target = false)]
842 public delegate void FormatPack (Gst.Audio.FormatInfo info, Gst.Audio.PackFlags flags, [CCode (array_length = false)] uint8[] src, [CCode (array_length = false)] uint8[] data, int length);
843 [CCode (cheader_filename = "gst/audio/audio.h", has_target = false)]
844 public delegate void FormatUnpack (Gst.Audio.FormatInfo info, Gst.Audio.PackFlags flags, [CCode (array_length = false)] uint8[] dest, [CCode (array_length = false)] uint8[] data, int length);
845 [CCode (cheader_filename = "gst/audio/audio.h", instance_pos = 2.9)]
846 public delegate void RingBufferCallback (Gst.Audio.RingBuffer rbuf, [CCode (array_length_cname = "len", array_length_pos = 2.1, array_length_type = "guint")] uint8[] data);
847 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_CHANNELS_RANGE")]
848 public const string CHANNELS_RANGE;
849 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_CONVERTER_OPT_DITHER_METHOD")]
850 public const string CONVERTER_OPT_DITHER_METHOD;
851 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_CONVERTER_OPT_MIX_MATRIX")]
852 public const string CONVERTER_OPT_MIX_MATRIX;
853 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD")]
854 public const string CONVERTER_OPT_NOISE_SHAPING_METHOD;
855 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_CONVERTER_OPT_QUANTIZATION")]
856 public const string CONVERTER_OPT_QUANTIZATION;
857 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD")]
858 public const string CONVERTER_OPT_RESAMPLER_METHOD;
859 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_DECODER_MAX_ERRORS")]
860 public const int DECODER_MAX_ERRORS;
861 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_DECODER_SINK_NAME")]
862 public const string DECODER_SINK_NAME;
863 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_DECODER_SRC_NAME")]
864 public const string DECODER_SRC_NAME;
865 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_DEF_CHANNELS")]
866 public const int DEF_CHANNELS;
867 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_DEF_FORMAT")]
868 public const string DEF_FORMAT;
869 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_DEF_RATE")]
870 public const int DEF_RATE;
871 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_ENCODER_SINK_NAME")]
872 public const string ENCODER_SINK_NAME;
873 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_ENCODER_SRC_NAME")]
874 public const string ENCODER_SRC_NAME;
875 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_FORMATS_ALL")]
876 public const string FORMATS_ALL;
877 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_META_TAG_AUDIO_CHANNELS_STR")]
878 [Version (since = "1.2")]
879 public const string META_TAG_AUDIO_CHANNELS_STR;
880 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_META_TAG_AUDIO_RATE_STR")]
881 [Version (since = "1.8")]
882 public const string META_TAG_AUDIO_RATE_STR;
883 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_META_TAG_AUDIO_STR")]
884 [Version (since = "1.2")]
885 public const string META_TAG_AUDIO_STR;
886 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RATE_RANGE")]
887 public const string RATE_RANGE;
888 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_CUBIC_B")]
889 public const string RESAMPLER_OPT_CUBIC_B;
890 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_CUBIC_C")]
891 public const string RESAMPLER_OPT_CUBIC_C;
892 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_CUTOFF")]
893 public const string RESAMPLER_OPT_CUTOFF;
894 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_FILTER_INTERPOLATION")]
895 public const string RESAMPLER_OPT_FILTER_INTERPOLATION;
896 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_FILTER_MODE")]
897 public const string RESAMPLER_OPT_FILTER_MODE;
898 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_FILTER_MODE_THRESHOLD")]
899 public const string RESAMPLER_OPT_FILTER_MODE_THRESHOLD;
900 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_FILTER_OVERSAMPLE")]
901 public const string RESAMPLER_OPT_FILTER_OVERSAMPLE;
902 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_MAX_PHASE_ERROR")]
903 public const string RESAMPLER_OPT_MAX_PHASE_ERROR;
904 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_N_TAPS")]
905 public const string RESAMPLER_OPT_N_TAPS;
906 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_STOP_ATTENUATION")]
907 public const string RESAMPLER_OPT_STOP_ATTENUATION;
908 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_OPT_TRANSITION_BANDWIDTH")]
909 public const string RESAMPLER_OPT_TRANSITION_BANDWIDTH;
910 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_QUALITY_DEFAULT")]
911 public const int RESAMPLER_QUALITY_DEFAULT;
912 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_QUALITY_MAX")]
913 public const int RESAMPLER_QUALITY_MAX;
914 [CCode (cheader_filename = "gst/audio/audio.h", cname = "GST_AUDIO_RESAMPLER_QUALITY_MIN")]
915 public const int RESAMPLER_QUALITY_MIN;
916 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_buffer_clip")]
917 public static Gst.Buffer audio_buffer_clip (owned Gst.Buffer buffer, Gst.Segment segment, int rate, int bpf);
918 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_buffer_reorder_channels")]
919 public static bool audio_buffer_reorder_channels (Gst.Buffer buffer, Gst.Audio.Format format, [CCode (array_length_cname = "channels", array_length_pos = 2.5)] Gst.Audio.ChannelPosition[] from, [CCode (array_length_cname = "channels", array_length_pos = 2.5)] Gst.Audio.ChannelPosition[] to);
920 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_buffer_truncate")]
921 [Version (since = "1.16")]
922 public static Gst.Buffer audio_buffer_truncate (owned Gst.Buffer buffer, int bpf, size_t trim, size_t samples);
923 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_channel_get_fallback_mask")]
924 [Version (since = "1.8")]
925 public static uint64 audio_channel_get_fallback_mask (int channels);
926 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_channel_positions_from_mask")]
927 public static bool audio_channel_positions_from_mask (uint64 channel_mask, [CCode (array_length_cname = "channels", array_length_pos = 0.5)] Gst.Audio.ChannelPosition[] position);
928 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_channel_positions_to_mask")]
929 public static bool audio_channel_positions_to_mask ([CCode (array_length_cname = "channels", array_length_pos = 1.5)] Gst.Audio.ChannelPosition[] position, bool force_order, out uint64 channel_mask);
930 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_channel_positions_to_string")]
931 public static string audio_channel_positions_to_string ([CCode (array_length_cname = "channels", array_length_pos = 1.1)] Gst.Audio.ChannelPosition[] position);
932 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_channel_positions_to_valid_order")]
933 public static bool audio_channel_positions_to_valid_order ([CCode (array_length_cname = "channels", array_length_pos = 1.1)] Gst.Audio.ChannelPosition[] position);
934 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_check_valid_channel_positions")]
935 public static bool audio_check_valid_channel_positions ([CCode (array_length_cname = "channels", array_length_pos = 1.5)] Gst.Audio.ChannelPosition[] position, bool force_order);
936 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_clipping_meta_api_get_type")]
937 public static GLib.Type audio_clipping_meta_api_get_type ();
938 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_clipping_meta_get_info")]
939 public static unowned Gst.MetaInfo? audio_clipping_meta_get_info ();
940 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_downmix_meta_api_get_type")]
941 public static GLib.Type audio_downmix_meta_api_get_type ();
942 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_downmix_meta_get_info")]
943 public static unowned Gst.MetaInfo? audio_downmix_meta_get_info ();
944 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_format_build_integer")]
945 public static Gst.Audio.Format audio_format_build_integer (bool sign, int endianness, int width, int depth);
946 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_format_fill_silence")]
947 public static void audio_format_fill_silence (Gst.Audio.FormatInfo info, [CCode (array_length_cname = "length", array_length_pos = 2.1, array_length_type = "gsize")] uint8[] dest);
948 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_format_from_string")]
949 public static Gst.Audio.Format audio_format_from_string (string format);
950 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_format_get_info")]
951 public static unowned Gst.Audio.FormatInfo? audio_format_get_info (Gst.Audio.Format format);
952 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_format_info_get_type")]
953 public static GLib.Type audio_format_info_get_type ();
954 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_format_to_string")]
955 public static unowned string audio_format_to_string (Gst.Audio.Format format);
956 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_get_channel_reorder_map")]
957 public static bool audio_get_channel_reorder_map ([CCode (array_length_cname = "channels", array_length_pos = 0.5)] Gst.Audio.ChannelPosition[] from, [CCode (array_length_cname = "channels", array_length_pos = 0.5)] Gst.Audio.ChannelPosition[] to, [CCode (array_length_cname = "channels", array_length_pos = 0.5)] int[] reorder_map);
958 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_iec61937_frame_size")]
959 public static uint audio_iec61937_frame_size (Gst.Audio.RingBufferSpec spec);
960 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_iec61937_payload")]
961 public static bool audio_iec61937_payload ([CCode (array_length_cname = "src_n", array_length_pos = 1.5, array_length_type = "guint")] uint8[] src, [CCode (array_length_cname = "dst_n", array_length_pos = 2.5, array_length_type = "guint")] uint8[] dst, Gst.Audio.RingBufferSpec spec, int endianness);
962 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_meta_api_get_type")]
963 public static GLib.Type audio_meta_api_get_type ();
964 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_meta_get_info")]
965 public static unowned Gst.MetaInfo? audio_meta_get_info ();
966 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_reorder_channels")]
967 public static bool audio_reorder_channels ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "gsize")] uint8[] data, Gst.Audio.Format format, [CCode (array_length_cname = "channels", array_length_pos = 2.5)] Gst.Audio.ChannelPosition[] from, [CCode (array_length_cname = "channels", array_length_pos = 2.5)] Gst.Audio.ChannelPosition[] to);
968 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_audio_resampler_options_set_quality")]
969 public static void audio_resampler_options_set_quality (Gst.Audio.ResamplerMethod method, uint quality, int in_rate, int out_rate, Gst.Structure options);
970 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_buffer_add_audio_clipping_meta")]
971 [Version (since = "1.8")]
972 public static unowned Gst.Audio.ClippingMeta? buffer_add_audio_clipping_meta (Gst.Buffer buffer, Gst.Format format, uint64 start, uint64 end);
973 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_buffer_add_audio_downmix_meta")]
974 public static unowned Gst.Audio.DownmixMeta? buffer_add_audio_downmix_meta (Gst.Buffer buffer, [CCode (array_length_cname = "from_channels", array_length_pos = 2.5)] Gst.Audio.ChannelPosition[] from_position, [CCode (array_length_cname = "to_channels", array_length_pos = 3.5)] Gst.Audio.ChannelPosition[] to_position, float matrix);
975 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_buffer_get_audio_downmix_meta_for_channels")]
976 public static unowned Gst.Audio.DownmixMeta? buffer_get_audio_downmix_meta_for_channels (Gst.Buffer buffer, [CCode (array_length_cname = "to_channels", array_length_pos = 2.1)] Gst.Audio.ChannelPosition[] to_position);
977 [CCode (cheader_filename = "gst/audio/audio.h", cname = "gst_stream_volume_convert_volume")]
978 public static double stream_volume_convert_volume (Gst.Audio.StreamVolumeFormat from, Gst.Audio.StreamVolumeFormat to, double val);