summaryrefslogtreecommitdiff
path: root/vapi/gstreamer-base-1.0.vapi
blob: fd7ef25436d0e4bf498e70bcdd445728ba3ce953 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
/* gstreamer-base-1.0.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "Gst", gir_namespace = "GstBase", gir_version = "1.0", lower_case_cprefix = "gst_")]
namespace Gst {
	namespace Base {
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstAdapter", lower_case_cprefix = "gst_adapter_", type_id = "gst_adapter_get_type ()")]
		[GIR (name = "Adapter")]
		public class Adapter : GLib.Object {
			[CCode (has_construct_function = false)]
			public Adapter ();
			public size_t available ();
			public size_t available_fast ();
			public void clear ();
			public void copy ([CCode (array_length_cname = "size", array_length_pos = 2.1, array_length_type = "gsize")] out unowned uint8[] dest, size_t offset);
			public GLib.Bytes copy_bytes (size_t offset, size_t size);
			public void flush (size_t flush);
			public Gst.Buffer? get_buffer (size_t nbytes);
			public Gst.Buffer? get_buffer_fast (size_t nbytes);
			public Gst.BufferList? get_buffer_list (size_t nbytes);
			public GLib.List<Gst.Buffer>? get_list (size_t nbytes);
			[CCode (array_length_pos = 0.1, array_length_type = "gsize")]
			public unowned uint8[]? map ();
			public ssize_t masked_scan_uint32 (uint32 mask, uint32 pattern, size_t offset, size_t size);
			public ssize_t masked_scan_uint32_peek (uint32 mask, uint32 pattern, size_t offset, size_t size, out uint32 value);
			public Gst.ClockTime prev_dts (out uint64 distance);
			public Gst.ClockTime prev_dts_at_offset (size_t offset, out uint64 distance);
			public Gst.ClockTime prev_pts (out uint64 distance);
			public Gst.ClockTime prev_pts_at_offset (size_t offset, out uint64 distance);
			public void push (owned Gst.Buffer buf);
			[CCode (array_length_pos = 0.1, array_length_type = "gsize")]
			public uint8[]? take ();
			public Gst.Buffer? take_buffer (size_t nbytes);
			public Gst.Buffer? take_buffer_fast (size_t nbytes);
			public Gst.BufferList? take_buffer_list (size_t nbytes);
			public GLib.List<Gst.Buffer>? take_list (size_t nbytes);
			public void unmap ();
		}
		[CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstBitReader")]
		[Compact]
		[GIR (name = "BitReader")]
		public class BitReader {
			public uint bit;
			public uint byte;
			[CCode (array_length = false, array_null_terminated = true)]
			public weak uint8[] data;
			public BitReader ([CCode (array_length_type = "guint")] uint8[] data);
			[CCode (cname = "gst_bit_reader_free")]
			public void free ();
			[CCode (cname = "gst_bit_reader_get_bits_uint16")]
			public bool get_bits_uint16 (out uint16 val, uint nbits);
			[CCode (cname = "gst_bit_reader_get_bits_uint32")]
			public bool get_bits_uint32 (out uint32 val, uint nbits);
			[CCode (cname = "gst_bit_reader_get_bits_uint64")]
			public bool get_bits_uint64 (out uint64 val, uint nbits);
			[CCode (cname = "gst_bit_reader_get_bits_uint8")]
			public bool get_bits_uint8 (out uint8 val, uint nbits);
			[CCode (cname = "gst_bit_reader_get_pos")]
			public uint get_pos ();
			[CCode (cname = "gst_bit_reader_get_remaining")]
			public uint get_remaining ();
			[CCode (cname = "gst_bit_reader_get_size")]
			public uint get_size ();
			[CCode (cname = "gst_bit_reader_init")]
			public void init ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data);
			[CCode (cname = "gst_bit_reader_peek_bits_uint16")]
			public bool peek_bits_uint16 (out uint16 val, uint nbits);
			[CCode (cname = "gst_bit_reader_peek_bits_uint32")]
			public bool peek_bits_uint32 (out uint32 val, uint nbits);
			[CCode (cname = "gst_bit_reader_peek_bits_uint64")]
			public bool peek_bits_uint64 (out uint64 val, uint nbits);
			[CCode (cname = "gst_bit_reader_peek_bits_uint8")]
			public bool peek_bits_uint8 (out uint8 val, uint nbits);
			[CCode (cname = "gst_bit_reader_set_pos")]
			public bool set_pos (uint pos);
			[CCode (cname = "gst_bit_reader_skip")]
			public bool skip (uint nbits);
			[CCode (cname = "gst_bit_reader_skip_to_byte")]
			public bool skip_to_byte ();
		}
		[CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstBitReader")]
		[Compact]
		[GIR (name = "ByteReader")]
		public class ByteReader {
			public uint byte;
			[CCode (array_length = false, array_null_terminated = true)]
			public weak uint8[] data;
			public ByteReader ([CCode (array_length_type = "guint")] uint8[] data);
			[CCode (cname = "gst_byte_reader_dup_data")]
			public bool dup_data ([CCode (array_length_cname = "size", array_length_pos = 0.5, array_length_type = "guint")] out uint8[] val);
			[CCode (cname = "gst_byte_reader_dup_string_utf16")]
			public bool dup_string_utf16 ([CCode (array_length = false, array_null_terminated = true)] out uint16[] str);
			[CCode (cname = "gst_byte_reader_dup_string_utf32")]
			public bool dup_string_utf32 ([CCode (array_length = false, array_null_terminated = true)] out uint32[] str);
			[CCode (cname = "gst_byte_reader_dup_string_utf8")]
			public bool dup_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] out string[] str);
			[CCode (cname = "gst_byte_reader_free")]
			public void free ();
			[CCode (cname = "gst_byte_reader_get_data")]
			public bool get_data ([CCode (array_length_cname = "size", array_length_pos = 0.5, array_length_type = "guint")] out unowned uint8[] val);
			[CCode (cname = "gst_byte_reader_get_float32_be")]
			public bool get_float32_be (out float val);
			[CCode (cname = "gst_byte_reader_get_float32_le")]
			public bool get_float32_le (out float val);
			[CCode (cname = "gst_byte_reader_get_float64_be")]
			public bool get_float64_be (out double val);
			[CCode (cname = "gst_byte_reader_get_float64_le")]
			public bool get_float64_le (out double val);
			[CCode (cname = "gst_byte_reader_get_int16_be")]
			public bool get_int16_be (out int16 val);
			[CCode (cname = "gst_byte_reader_get_int16_le")]
			public bool get_int16_le (out int16 val);
			[CCode (cname = "gst_byte_reader_get_int24_be")]
			public bool get_int24_be (out int32 val);
			[CCode (cname = "gst_byte_reader_get_int24_le")]
			public bool get_int24_le (out int32 val);
			[CCode (cname = "gst_byte_reader_get_int32_be")]
			public bool get_int32_be (out int32 val);
			[CCode (cname = "gst_byte_reader_get_int32_le")]
			public bool get_int32_le (out int32 val);
			[CCode (cname = "gst_byte_reader_get_int64_be")]
			public bool get_int64_be (out int64 val);
			[CCode (cname = "gst_byte_reader_get_int64_le")]
			public bool get_int64_le (out int64 val);
			[CCode (cname = "gst_byte_reader_get_int8")]
			public bool get_int8 (out int8 val);
			[CCode (cname = "gst_byte_reader_get_pos")]
			public uint get_pos ();
			[CCode (cname = "gst_byte_reader_get_remaining")]
			public uint get_remaining ();
			[CCode (cname = "gst_byte_reader_get_size")]
			public uint get_size ();
			[CCode (cname = "gst_byte_reader_get_string_utf8")]
			public bool get_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] out unowned string[] str);
			[CCode (cname = "gst_byte_reader_get_uint16_be")]
			public bool get_uint16_be (out uint16 val);
			[CCode (cname = "gst_byte_reader_get_uint16_le")]
			public bool get_uint16_le (out uint16 val);
			[CCode (cname = "gst_byte_reader_get_uint24_be")]
			public bool get_uint24_be (out uint32 val);
			[CCode (cname = "gst_byte_reader_get_uint24_le")]
			public bool get_uint24_le (out uint32 val);
			[CCode (cname = "gst_byte_reader_get_uint32_be")]
			public bool get_uint32_be (out uint32 val);
			[CCode (cname = "gst_byte_reader_get_uint32_le")]
			public bool get_uint32_le (out uint32 val);
			[CCode (cname = "gst_byte_reader_get_uint64_be")]
			public bool get_uint64_be (out uint64 val);
			[CCode (cname = "gst_byte_reader_get_uint64_le")]
			public bool get_uint64_le (out uint64 val);
			[CCode (cname = "gst_byte_reader_get_uint8")]
			public bool get_uint8 (out uint8 val);
			[CCode (cname = "gst_byte_reader_init")]
			public void init ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data);
			[CCode (cname = "gst_byte_reader_masked_scan_uint32")]
			public uint masked_scan_uint32 (uint32 mask, uint32 pattern, uint offset, uint size);
			[CCode (cname = "gst_byte_reader_masked_scan_uint32_peek")]
			public uint masked_scan_uint32_peek (uint32 mask, uint32 pattern, uint offset, uint size, uint32 value);
			[CCode (cname = "gst_byte_reader_peek_data")]
			public bool peek_data ([CCode (array_length_cname = "size", array_length_pos = 0.5, array_length_type = "guint")] out unowned uint8[] val);
			[CCode (cname = "gst_byte_reader_peek_float32_be")]
			public bool peek_float32_be (out float val);
			[CCode (cname = "gst_byte_reader_peek_float32_le")]
			public bool peek_float32_le (out float val);
			[CCode (cname = "gst_byte_reader_peek_float64_be")]
			public bool peek_float64_be (out double val);
			[CCode (cname = "gst_byte_reader_peek_float64_le")]
			public bool peek_float64_le (out double val);
			[CCode (cname = "gst_byte_reader_peek_int16_be")]
			public bool peek_int16_be (out int16 val);
			[CCode (cname = "gst_byte_reader_peek_int16_le")]
			public bool peek_int16_le (out int16 val);
			[CCode (cname = "gst_byte_reader_peek_int24_be")]
			public bool peek_int24_be (out int32 val);
			[CCode (cname = "gst_byte_reader_peek_int24_le")]
			public bool peek_int24_le (out int32 val);
			[CCode (cname = "gst_byte_reader_peek_int32_be")]
			public bool peek_int32_be (out int32 val);
			[CCode (cname = "gst_byte_reader_peek_int32_le")]
			public bool peek_int32_le (out int32 val);
			[CCode (cname = "gst_byte_reader_peek_int64_be")]
			public bool peek_int64_be (out int64 val);
			[CCode (cname = "gst_byte_reader_peek_int64_le")]
			public bool peek_int64_le (out int64 val);
			[CCode (cname = "gst_byte_reader_peek_int8")]
			public bool peek_int8 (out int8 val);
			[CCode (cname = "gst_byte_reader_peek_string_utf8")]
			public bool peek_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] out unowned string[] str);
			[CCode (cname = "gst_byte_reader_peek_uint16_be")]
			public bool peek_uint16_be (out uint16 val);
			[CCode (cname = "gst_byte_reader_peek_uint16_le")]
			public bool peek_uint16_le (out uint16 val);
			[CCode (cname = "gst_byte_reader_peek_uint24_be")]
			public bool peek_uint24_be (out uint32 val);
			[CCode (cname = "gst_byte_reader_peek_uint24_le")]
			public bool peek_uint24_le (out uint32 val);
			[CCode (cname = "gst_byte_reader_peek_uint32_be")]
			public bool peek_uint32_be (out uint32 val);
			[CCode (cname = "gst_byte_reader_peek_uint32_le")]
			public bool peek_uint32_le (out uint32 val);
			[CCode (cname = "gst_byte_reader_peek_uint64_be")]
			public bool peek_uint64_be (out uint64 val);
			[CCode (cname = "gst_byte_reader_peek_uint64_le")]
			public bool peek_uint64_le (out uint64 val);
			[CCode (cname = "gst_byte_reader_peek_uint8")]
			public bool peek_uint8 (out uint8 val);
			[CCode (cname = "gst_byte_reader_set_pos")]
			public bool set_pos (uint pos);
			[CCode (cname = "gst_byte_reader_skip")]
			public bool skip (uint nbytes);
			[CCode (cname = "gst_byte_reader_skip_string_utf16")]
			public bool skip_string_utf16 ();
			[CCode (cname = "gst_byte_reader_skip_string_utf32")]
			public bool skip_string_utf32 ();
			[CCode (cname = "gst_byte_reader_skip_string_utf8")]
			public bool skip_string_utf8 ();
		}
		[CCode (cheader_filename = "gst/base/gstadapter.h,gst/base/gstbaseparse.h,gst/base/gstbasesink.h,gst/base/gstbasesrc.h,gst/base/gstbasetransform.h,gst/base/gstbitreader.h,gst/base/gstbytereader.h,gst/base/gstbytewriter.h,gst/base/gstcollectpads.h,gst/base/gstpushsrc.h,gst/base/gsttypefindhelper.h", cname = "GstBitReader")]
		[Compact]
		[GIR (name = "ByteWriter")]
		public class ByteWriter {
			public uint alloc_size;
			public bool fixed;
			public bool @owned;
			public weak Gst.Base.ByteReader parent;
			public ByteWriter ();
			[CCode (cname = "gst_byte_writer_ensure_free_space")]
			public bool ensure_free_space (uint size);
			[CCode (cname = "gst_byte_writer_fill")]
			public bool fill (uint8 value, uint size);
			[CCode (cname = "gst_byte_writer_free")]
			public void free ();
			[CCode (cname = "gst_byte_writer_free_and_get_buffer")]
			public Gst.Buffer free_and_get_buffer ();
			[CCode (cname = "gst_byte_writer_free_and_get_data")]
			public uint8 free_and_get_data ();
			[CCode (cname = "gst_byte_writer_get_remaining")]
			public uint get_remaining ();
			[CCode (cname = "gst_byte_writer_init")]
			public void init ();
			[CCode (cname = "gst_byte_writer_init_with_data")]
			public void init_with_data ([CCode (array_length_cname = "size", array_length_pos = 1.5, array_length_type = "guint")] uint8[] data, bool initialized);
			[CCode (cname = "gst_byte_writer_init_with_size")]
			public void init_with_size (uint size, bool fixed);
			[CCode (cname = "gst_byte_writer_put_buffer")]
			public bool put_buffer (Gst.Buffer buffer, size_t offset, ssize_t size);
			[CCode (cname = "gst_byte_writer_put_data")]
			public bool put_data ([CCode (array_length_cname = "size", array_length_pos = 1.1, array_length_type = "guint")] uint8[] data);
			[CCode (cname = "gst_byte_writer_put_float32_be")]
			public bool put_float32_be (float val);
			[CCode (cname = "gst_byte_writer_put_float32_le")]
			public bool put_float32_le (float val);
			[CCode (cname = "gst_byte_writer_put_float64_be")]
			public bool put_float64_be (double val);
			[CCode (cname = "gst_byte_writer_put_float64_le")]
			public bool put_float64_le (double val);
			[CCode (cname = "gst_byte_writer_put_int16_be")]
			public bool put_int16_be (int16 val);
			[CCode (cname = "gst_byte_writer_put_int16_le")]
			public bool put_int16_le (int16 val);
			[CCode (cname = "gst_byte_writer_put_int24_be")]
			public bool put_int24_be (int32 val);
			[CCode (cname = "gst_byte_writer_put_int24_le")]
			public bool put_int24_le (int32 val);
			[CCode (cname = "gst_byte_writer_put_int32_be")]
			public bool put_int32_be (int32 val);
			[CCode (cname = "gst_byte_writer_put_int32_le")]
			public bool put_int32_le (int32 val);
			[CCode (cname = "gst_byte_writer_put_int64_be")]
			public bool put_int64_be (int64 val);
			[CCode (cname = "gst_byte_writer_put_int64_le")]
			public bool put_int64_le (int64 val);
			[CCode (cname = "gst_byte_writer_put_int8")]
			public bool put_int8 (int8 val);
			[CCode (cname = "gst_byte_writer_put_string_utf16")]
			public bool put_string_utf16 ([CCode (array_length = false, array_null_terminated = true)] uint16[] data);
			[CCode (cname = "gst_byte_writer_put_string_utf32")]
			public bool put_string_utf32 ([CCode (array_length = false, array_null_terminated = true)] uint32[] data);
			[CCode (cname = "gst_byte_writer_put_string_utf8")]
			public bool put_string_utf8 ([CCode (array_length = false, array_null_terminated = true)] string[] data);
			[CCode (cname = "gst_byte_writer_put_uint16_be")]
			public bool put_uint16_be (uint16 val);
			[CCode (cname = "gst_byte_writer_put_uint16_le")]
			public bool put_uint16_le (uint16 val);
			[CCode (cname = "gst_byte_writer_put_uint24_be")]
			public bool put_uint24_be (uint32 val);
			[CCode (cname = "gst_byte_writer_put_uint24_le")]
			public bool put_uint24_le (uint32 val);
			[CCode (cname = "gst_byte_writer_put_uint32_be")]
			public bool put_uint32_be (uint32 val);
			[CCode (cname = "gst_byte_writer_put_uint32_le")]
			public bool put_uint32_le (uint32 val);
			[CCode (cname = "gst_byte_writer_put_uint64_be")]
			public bool put_uint64_be (uint64 val);
			[CCode (cname = "gst_byte_writer_put_uint64_le")]
			public bool put_uint64_le (uint64 val);
			[CCode (cname = "gst_byte_writer_put_uint8")]
			public bool put_uint8 (uint8 val);
			[CCode (cname = "gst_byte_writer_reset")]
			public void reset ();
			[CCode (cname = "gst_byte_writer_reset_and_get_buffer")]
			public Gst.Buffer reset_and_get_buffer ();
			[CCode (array_length = false, cname = "gst_byte_writer_reset_and_get_data")]
			public uint8[] reset_and_get_data ();
			public ByteWriter.with_data ([CCode (array_length_type = "guint")] uint8[] data, uint size, bool initialized);
			public ByteWriter.with_size (uint size, bool fixed);
		}
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPads", lower_case_cprefix = "gst_collect_pads_", type_id = "gst_collect_pads_get_type ()")]
		[GIR (name = "CollectPads")]
		public class CollectPads : Gst.Object {
			public weak GLib.SList<Gst.Base.CollectData?> data;
			[CCode (has_construct_function = false)]
			public CollectPads ();
			public unowned Gst.Base.CollectData? add_pad (Gst.Pad pad, uint size, [CCode (scope = "async")] owned Gst.Base.CollectDataDestroyNotify destroy_notify, bool @lock);
			public uint available ();
			public Gst.FlowReturn clip_running_time (Gst.Base.CollectData cdata, Gst.Buffer buf, Gst.Buffer? outbuf, void* user_data);
			public bool event_default (Gst.Base.CollectData data, Gst.Event event, bool discard);
			public uint flush (Gst.Base.CollectData data, uint size);
			public Gst.Buffer peek (Gst.Base.CollectData data);
			public Gst.Buffer pop (Gst.Base.CollectData data);
			public bool query_default (Gst.Base.CollectData data, Gst.Query query, bool discard);
			public Gst.Buffer read_buffer (Gst.Base.CollectData data, uint size);
			public bool remove_pad (Gst.Pad pad);
			public void set_buffer_function (Gst.Base.CollectPadsBufferFunction func);
			public void set_clip_function (Gst.Base.CollectPadsClipFunction clipfunc);
			public void set_compare_function (Gst.Base.CollectPadsCompareFunction func);
			public void set_event_function (Gst.Base.CollectPadsEventFunction func);
			public void set_flush_function (Gst.Base.CollectPadsFlushFunction func);
			public void set_flushing (bool flushing);
			public void set_function (Gst.Base.CollectPadsFunction func);
			public void set_query_function (Gst.Base.CollectPadsQueryFunction func);
			public void set_waiting (Gst.Base.CollectData data, bool waiting);
			public bool src_event_default (Gst.Pad pad, Gst.Event event);
			public void start ();
			public void stop ();
			public Gst.Buffer take_buffer (Gst.Base.CollectData data, uint size);
		}
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstDataQueue", lower_case_cprefix = "gst_data_queue_", type_id = "gst_data_queue_get_type ()")]
		[GIR (name = "DataQueue")]
		public class DataQueue : GLib.Object {
			[CCode (has_construct_function = false)]
			protected DataQueue ();
			[NoWrapper]
			public virtual void empty ();
			[NoWrapper]
			public virtual void full ();
			[NoAccessorMethod]
			public uint current_level_bytes { get; }
			[NoAccessorMethod]
			public uint64 current_level_time { get; }
			[NoAccessorMethod]
			public uint current_level_visible { get; }
		}
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstFlowCombiner", copy_function = "g_boxed_copy", free_function = "g_boxed_free", lower_case_cprefix = "gst_flow_combiner_", type_id = "gst_flow_combiner_get_type ()")]
		[Compact]
		[GIR (name = "FlowCombiner")]
		public class FlowCombiner {
			[CCode (has_construct_function = false)]
			public FlowCombiner ();
			public void add_pad (Gst.Pad pad);
			public void clear ();
			public void free ();
			public void remove_pad (Gst.Pad pad);
			public void reset ();
			public Gst.FlowReturn update_flow (Gst.FlowReturn fret);
			public Gst.FlowReturn update_pad_flow (Gst.Pad pad, Gst.FlowReturn fret);
		}
		[CCode (cheader_filename = "gst/base/base.h", type_id = "gst_base_parse_get_type ()")]
		[GIR (name = "BaseParse")]
		public abstract class Parse : Gst.Element {
			public uint flags;
			public weak Gst.Segment segment;
			public weak Gst.Pad sinkpad;
			public weak Gst.Pad srcpad;
			[CCode (has_construct_function = false)]
			protected Parse ();
			public bool add_index_entry (uint64 offset, Gst.ClockTime ts, bool key, bool force);
			[NoWrapper]
			public virtual bool convert (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value);
			public bool convert_default (Gst.Format src_format, int64 src_value, Gst.Format dest_format, int64 dest_value);
			[NoWrapper]
			public virtual Gst.FlowReturn detect (Gst.Buffer buffer);
			public Gst.FlowReturn finish_frame (Gst.Base.ParseFrame frame, int size);
			[NoWrapper]
			public virtual Gst.Caps get_sink_caps (Gst.Caps filter);
			[NoWrapper]
			public virtual Gst.FlowReturn handle_frame (Gst.Base.ParseFrame frame, int skipsize);
			public void merge_tags (Gst.TagList? tags, Gst.TagMergeMode mode);
			[NoWrapper]
			public virtual Gst.FlowReturn pre_push_frame (Gst.Base.ParseFrame frame);
			public Gst.FlowReturn push_frame (Gst.Base.ParseFrame frame);
			public void set_average_bitrate (uint bitrate);
			public void set_duration (Gst.Format fmt, int64 duration, int interval);
			public void set_frame_rate (uint fps_num, uint fps_den, uint lead_in, uint lead_out);
			public void set_has_timing_info (bool has_timing);
			public void set_infer_ts (bool infer_ts);
			public void set_latency (Gst.ClockTime min_latency, Gst.ClockTime max_latency);
			public void set_min_frame_size (uint min_size);
			public void set_passthrough (bool passthrough);
			public void set_pts_interpolation (bool pts_interpolate);
			[NoWrapper]
			public virtual bool set_sink_caps (Gst.Caps caps);
			public void set_syncable (bool syncable);
			public void set_ts_at_offset (size_t offset);
			[NoWrapper]
			public virtual bool sink_event (Gst.Event event);
			[NoWrapper]
			public virtual bool sink_query (Gst.Query query);
			[NoWrapper]
			public virtual bool src_event (Gst.Event event);
			[NoWrapper]
			public virtual bool src_query (Gst.Query query);
			[NoWrapper]
			public virtual bool start ();
			[NoWrapper]
			public virtual bool stop ();
			[NoAccessorMethod]
			public bool disable_passthrough { get; set; }
		}
		[CCode (cheader_filename = "gst/base/base.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "gst_base_parse_frame_get_type ()")]
		[Compact]
		[GIR (name = "BaseParseFrame")]
		public class ParseFrame {
			public weak Gst.Buffer buffer;
			public uint flags;
			public uint64 offset;
			public weak Gst.Buffer out_buffer;
			public int overhead;
			[CCode (has_construct_function = false)]
			public ParseFrame (Gst.Buffer buffer, Gst.Base.ParseFrameFlags flags, int overhead);
			public void free ();
			public void init ();
		}
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstPushSrc", lower_case_cprefix = "gst_push_src_", type_id = "gst_push_src_get_type ()")]
		[GIR (name = "PushSrc")]
		public class PushSrc : Gst.Base.Src {
			[CCode (has_construct_function = false)]
			protected PushSrc ();
			[NoWrapper]
			public virtual Gst.FlowReturn alloc (Gst.Buffer buf);
			[NoWrapper]
			public virtual Gst.FlowReturn create (Gst.Buffer buf);
			[NoWrapper]
			public virtual Gst.FlowReturn fill (Gst.Buffer buf);
		}
		[CCode (cheader_filename = "gst/base/base.h", type_id = "gst_base_sink_get_type ()")]
		[GIR (name = "BaseSink")]
		public abstract class Sink : Gst.Element {
			public bool can_activate_pull;
			public bool can_activate_push;
			public bool eos;
			public bool have_newsegment;
			public bool have_preroll;
			public bool need_preroll;
			public uint64 offset;
			public Gst.PadMode pad_mode;
			public bool playing_async;
			public weak GLib.Cond preroll_cond;
			public weak GLib.Mutex preroll_lock;
			public weak Gst.Segment segment;
			public weak Gst.Pad sinkpad;
			[CCode (has_construct_function = false)]
			protected Sink ();
			[NoWrapper]
			public virtual bool activate_pull (bool active);
			public Gst.FlowReturn do_preroll (Gst.MiniObject obj);
			[NoWrapper]
			public virtual bool event (Gst.Event event);
			[NoWrapper]
			public virtual Gst.Caps fixate (Gst.Caps caps);
			public uint get_blocksize ();
			[NoWrapper]
			public virtual Gst.Caps get_caps (Gst.Caps filter);
			public Gst.Sample? get_last_sample ();
			public Gst.ClockTime get_latency ();
			public uint64 get_max_bitrate ();
			public int64 get_max_lateness ();
			public Gst.ClockTime get_render_delay ();
			public bool get_sync ();
			public uint64 get_throttle_time ();
			[NoWrapper]
			public virtual void get_times (Gst.Buffer buffer, Gst.ClockTime start, Gst.ClockTime end);
			public Gst.ClockTimeDiff get_ts_offset ();
			public bool is_async_enabled ();
			public bool is_last_sample_enabled ();
			public bool is_qos_enabled ();
			[NoWrapper]
			public virtual Gst.FlowReturn prepare (Gst.Buffer buffer);
			[NoWrapper]
			public virtual Gst.FlowReturn prepare_list (Gst.BufferList buffer_list);
			[NoWrapper]
			public virtual Gst.FlowReturn preroll (Gst.Buffer buffer);
			[NoWrapper]
			public virtual bool propose_allocation (Gst.Query query);
			[NoWrapper]
			public virtual bool query (Gst.Query query);
			public bool query_latency (out bool live, out bool upstream_live, out Gst.ClockTime min_latency, out Gst.ClockTime max_latency);
			[NoWrapper]
			public virtual Gst.FlowReturn render (Gst.Buffer buffer);
			[NoWrapper]
			public virtual Gst.FlowReturn render_list (Gst.BufferList buffer_list);
			public void set_async_enabled (bool enabled);
			public void set_blocksize (uint blocksize);
			[NoWrapper]
			public virtual bool set_caps (Gst.Caps caps);
			public void set_last_sample_enabled (bool enabled);
			public void set_max_bitrate (uint64 max_bitrate);
			public void set_max_lateness (int64 max_lateness);
			public void set_qos_enabled (bool enabled);
			public void set_render_delay (Gst.ClockTime delay);
			public void set_sync (bool sync);
			public void set_throttle_time (uint64 throttle);
			public void set_ts_offset (Gst.ClockTimeDiff offset);
			[NoWrapper]
			public virtual bool start ();
			[NoWrapper]
			public virtual bool stop ();
			[NoWrapper]
			public virtual bool unlock ();
			[NoWrapper]
			public virtual bool unlock_stop ();
			public Gst.FlowReturn wait (Gst.ClockTime time, out Gst.ClockTimeDiff jitter);
			public Gst.ClockReturn wait_clock (Gst.ClockTime time, out Gst.ClockTimeDiff jitter);
			[NoWrapper]
			public virtual Gst.FlowReturn wait_event (Gst.Event event);
			public Gst.FlowReturn wait_preroll ();
			[NoAccessorMethod]
			public bool @async { get; set; }
			public uint blocksize { get; set; }
			[NoAccessorMethod]
			public bool enable_last_sample { get; set; }
			public Gst.Sample last_sample { owned get; }
			public uint64 max_bitrate { get; set; }
			public int64 max_lateness { get; set; }
			[NoAccessorMethod]
			public bool qos { get; set; }
			public uint64 render_delay { get; set; }
			public bool sync { get; set; }
			public uint64 throttle_time { get; set; }
			public int64 ts_offset { get; set; }
		}
		[CCode (cheader_filename = "gst/base/base.h", type_id = "gst_base_src_get_type ()")]
		[GIR (name = "BaseSrc")]
		public abstract class Src : Gst.Element {
			public bool can_activate_push;
			public Gst.ClockID clock_id;
			public weak GLib.Cond live_cond;
			public weak GLib.Mutex live_lock;
			public bool live_running;
			public bool need_newsegment;
			public int num_buffers_left;
			public weak Gst.Event pending_seek;
			public bool random_access;
			public bool running;
			public weak Gst.Segment segment;
			public weak Gst.Pad srcpad;
			[CCode (has_construct_function = false)]
			protected Src ();
			[NoWrapper]
			public virtual Gst.FlowReturn alloc (uint64 offset, uint size, Gst.Buffer buf);
			[NoWrapper]
			public virtual Gst.FlowReturn create (uint64 offset, uint size, Gst.Buffer buf);
			[NoWrapper]
			public virtual bool decide_allocation (Gst.Query query);
			[NoWrapper]
			public virtual bool do_seek (Gst.Segment segment);
			[NoWrapper]
			public virtual bool event (Gst.Event event);
			[NoWrapper]
			public virtual Gst.FlowReturn fill (uint64 offset, uint size, Gst.Buffer buf);
			[NoWrapper]
			public virtual Gst.Caps fixate (Gst.Caps caps);
			public void get_allocator (out Gst.Allocator allocator, out Gst.AllocationParams @params);
			public uint get_blocksize ();
			public Gst.BufferPool get_buffer_pool ();
			[NoWrapper]
			public virtual Gst.Caps get_caps (Gst.Caps filter);
			public bool get_do_timestamp ();
			[NoWrapper]
			public virtual bool get_size (uint64 size);
			[NoWrapper]
			public virtual void get_times (Gst.Buffer buffer, Gst.ClockTime start, Gst.ClockTime end);
			public bool is_async ();
			[NoWrapper]
			public virtual bool is_seekable ();
			[NoWrapper]
			public virtual bool negotiate ();
			public bool new_seamless_segment (int64 start, int64 stop, int64 time);
			[NoWrapper]
			public virtual bool prepare_seek_segment (Gst.Event seek, Gst.Segment segment);
			[NoWrapper]
			public virtual bool query (Gst.Query query);
			public bool query_latency (out bool live, out Gst.ClockTime min_latency, out Gst.ClockTime max_latency);
			public void set_async (bool @async);
			public void set_automatic_eos (bool automatic_eos);
			public void set_blocksize (uint blocksize);
			public virtual bool set_caps (Gst.Caps caps);
			public void set_do_timestamp (bool timestamp);
			public void set_dynamic_size (bool @dynamic);
			public void set_format (Gst.Format format);
			public void set_live (bool live);
			[NoWrapper]
			public virtual bool start ();
			public void start_complete (Gst.FlowReturn ret);
			public Gst.FlowReturn start_wait ();
			[NoWrapper]
			public virtual bool stop ();
			[NoWrapper]
			public virtual bool unlock ();
			[NoWrapper]
			public virtual bool unlock_stop ();
			public Gst.FlowReturn wait_playing ();
			public uint blocksize { get; set; }
			public bool do_timestamp { get; set; }
			[NoAccessorMethod]
			public int num_buffers { get; set; }
			[NoAccessorMethod]
			public bool typefind { get; set; }
		}
		[CCode (cheader_filename = "gst/base/base.h", type_id = "gst_base_transform_get_type ()")]
		[GIR (name = "BaseTransform")]
		public abstract class Transform : Gst.Element {
			public bool have_segment;
			public weak Gst.Buffer queued_buf;
			public weak Gst.Segment segment;
			public weak Gst.Pad sinkpad;
			public weak Gst.Pad srcpad;
			[CCode (has_construct_function = false)]
			protected Transform ();
			[NoWrapper]
			public virtual bool accept_caps (Gst.PadDirection direction, Gst.Caps caps);
			[NoWrapper]
			public virtual void before_transform (Gst.Buffer buffer);
			[NoWrapper]
			public virtual bool copy_metadata (Gst.Buffer input, Gst.Buffer outbuf);
			[NoWrapper]
			public virtual bool decide_allocation (Gst.Query query);
			[NoWrapper]
			public virtual bool filter_meta (Gst.Query query, GLib.Type api, Gst.Structure @params);
			[NoWrapper]
			public virtual Gst.Caps fixate_caps (Gst.PadDirection direction, Gst.Caps caps, Gst.Caps othercaps);
			[NoWrapper]
			public virtual Gst.FlowReturn generate_output (Gst.Buffer outbuf);
			public void get_allocator (out Gst.Allocator allocator, out Gst.AllocationParams @params);
			public Gst.BufferPool get_buffer_pool ();
			[NoWrapper]
			public virtual bool get_unit_size (Gst.Caps caps, size_t size);
			public bool is_in_place ();
			public bool is_passthrough ();
			public bool is_qos_enabled ();
			[NoWrapper]
			public virtual Gst.FlowReturn prepare_output_buffer (Gst.Buffer input, Gst.Buffer outbuf);
			[NoWrapper]
			public virtual bool propose_allocation (Gst.Query decide_query, Gst.Query query);
			[NoWrapper]
			public virtual bool query (Gst.PadDirection direction, Gst.Query query);
			public void reconfigure_sink ();
			public void reconfigure_src ();
			[NoWrapper]
			public virtual bool set_caps (Gst.Caps incaps, Gst.Caps outcaps);
			public void set_gap_aware (bool gap_aware);
			public void set_in_place (bool in_place);
			public void set_passthrough (bool passthrough);
			public void set_prefer_passthrough (bool prefer_passthrough);
			public void set_qos_enabled (bool enabled);
			[NoWrapper]
			public virtual bool sink_event (Gst.Event event);
			[NoWrapper]
			public virtual bool src_event (Gst.Event event);
			[NoWrapper]
			public virtual bool start ();
			[NoWrapper]
			public virtual bool stop ();
			[NoWrapper]
			public virtual Gst.FlowReturn submit_input_buffer (bool is_discont, Gst.Buffer input);
			[NoWrapper]
			public virtual Gst.FlowReturn transform (Gst.Buffer inbuf, Gst.Buffer outbuf);
			[NoWrapper]
			public virtual Gst.Caps transform_caps (Gst.PadDirection direction, Gst.Caps caps, Gst.Caps filter);
			[NoWrapper]
			public virtual Gst.FlowReturn transform_ip (Gst.Buffer buf);
			[NoWrapper]
			public virtual bool transform_meta (Gst.Buffer outbuf, Gst.Meta meta, Gst.Buffer inbuf);
			[NoWrapper]
			public virtual bool transform_size (Gst.PadDirection direction, Gst.Caps caps, size_t size, Gst.Caps othercaps, size_t othersize);
			public void update_qos (double proportion, Gst.ClockTimeDiff diff, Gst.ClockTime timestamp);
			public bool update_src_caps (Gst.Caps updated_caps);
			[NoAccessorMethod]
			public bool qos { get; set; }
		}
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectData", has_type_id = false)]
		[GIR (name = "CollectData")]
		public struct CollectData {
			public weak Gst.Base.CollectPads collect;
			public weak Gst.Pad pad;
			public weak Gst.Buffer buffer;
			public uint pos;
			public weak Gst.Segment segment;
			[CCode (cname = "ABI.abi.dts")]
			public int64 ABI_abi_dts;
		}
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsStateFlags", cprefix = "GST_COLLECT_PADS_STATE_", has_type_id = false)]
		[Flags]
		[GIR (name = "CollectPadsStateFlags")]
		public enum CollectPadsStateFlags {
			EOS,
			FLUSHING,
			NEW_SEGMENT,
			WAITING,
			LOCKED
		}
		[CCode (cheader_filename = "gst/base/base.h", cprefix = "GST_BASE_PARSE_FRAME_FLAG_", has_type_id = false)]
		[Flags]
		[GIR (name = "BaseParseFrameFlags")]
		public enum ParseFrameFlags {
			NONE,
			NEW_FRAME,
			NO_FRAME,
			CLIP,
			DROP,
			QUEUE
		}
		[CCode (cheader_filename = "gst/base/base.h", cprefix = "GST_BASE_SRC_FLAG_", has_type_id = false)]
		[Flags]
		[GIR (name = "BaseSrcFlags")]
		public enum SrcFlags {
			STARTING,
			STARTED,
			LAST
		}
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectDataDestroyNotify", has_target = false)]
		public delegate void CollectDataDestroyNotify (Gst.Base.CollectData data);
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsBufferFunction", instance_pos = 3.9)]
		public delegate Gst.FlowReturn CollectPadsBufferFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, owned Gst.Buffer buffer);
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsClipFunction", instance_pos = 4.9)]
		public delegate Gst.FlowReturn CollectPadsClipFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data, owned Gst.Buffer inbuffer, Gst.Buffer outbuffer);
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsCompareFunction", instance_pos = 5.9)]
		public delegate int CollectPadsCompareFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData data1, Gst.ClockTime timestamp1, Gst.Base.CollectData data2, Gst.ClockTime timestamp2);
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsEventFunction", instance_pos = 3.9)]
		public delegate bool CollectPadsEventFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData pad, Gst.Event event);
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsFlushFunction", instance_pos = 1.9)]
		public delegate void CollectPadsFlushFunction (Gst.Base.CollectPads pads);
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsFunction", instance_pos = 1.9)]
		public delegate Gst.FlowReturn CollectPadsFunction (Gst.Base.CollectPads pads);
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstCollectPadsQueryFunction", instance_pos = 3.9)]
		public delegate bool CollectPadsQueryFunction (Gst.Base.CollectPads pads, Gst.Base.CollectData pad, Gst.Query query);
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstDataQueueEmptyCallback", has_target = false)]
		public delegate void DataQueueEmptyCallback (Gst.Base.DataQueue queue, void* checkdata);
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstDataQueueFullCallback", has_target = false)]
		public delegate void DataQueueFullCallback (Gst.Base.DataQueue queue, void* checkdata);
		[CCode (cheader_filename = "gst/base/base.h", cname = "GstTypeFindHelperGetRangeFunction", has_target = false)]
		public delegate Gst.FlowReturn TypeFindHelperGetRangeFunction (Gst.Object obj, Gst.Object? parent, uint64 offset, uint length, Gst.Buffer buffer);
		[CCode (cheader_filename = "gst/base/base.h", cname = "GST_BASE_PARSE_FLAG_DRAINING")]
		public const int PARSE_FLAG_DRAINING;
		[CCode (cheader_filename = "gst/base/base.h", cname = "GST_BASE_PARSE_FLAG_LOST_SYNC")]
		public const int PARSE_FLAG_LOST_SYNC;
		[CCode (cheader_filename = "gst/base/base.h", cname = "GST_BASE_TRANSFORM_SINK_NAME")]
		public const string TRANSFORM_SINK_NAME;
		[CCode (cheader_filename = "gst/base/base.h", cname = "GST_BASE_TRANSFORM_SRC_NAME")]
		public const string TRANSFORM_SRC_NAME;
		[CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper")]
		public static Gst.Caps? type_find_helper (Gst.Pad src, uint64 size);
		[CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper_for_buffer")]
		public static Gst.Caps? type_find_helper_for_buffer (Gst.Object? obj, Gst.Buffer buf, out Gst.TypeFindProbability prob);
		[CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper_for_data")]
		public static Gst.Caps? type_find_helper_for_data (Gst.Object? obj, uint8 data, size_t size, out Gst.TypeFindProbability prob);
		[CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper_for_extension")]
		public static Gst.Caps? type_find_helper_for_extension (Gst.Object? obj, string extension);
		[CCode (cheader_filename = "gst/base/base.h", cname = "gst_type_find_helper_get_range")]
		public static Gst.Caps? type_find_helper_get_range (Gst.Object obj, Gst.Object? parent, Gst.Base.TypeFindHelperGetRangeFunction func, uint64 size, string extension, out Gst.TypeFindProbability prob);
	}
}