1[options]
2girs_directories = ["../gir-files", "../gst-gir-files"]
3library = "GstAudio"
4version = "1.0"
5min_cfg_version = "1.8"
6work_mode = "normal"
7concurrency = "send+sync"
8generate_safety_asserts = true
9single_version_file = true
10generate_display_trait = false
11
12external_libraries = [
13    "GLib",
14    "GObject",
15    "Gst",
16    "GstBase",
17]
18
19generate = [
20    "GstAudio.AudioDitherMethod",
21    "GstAudio.AudioNoiseShapingMethod",
22    "GstAudio.AudioResamplerMethod",
23    "GstAudio.AudioFormatFlags",
24    "GstAudio.AudioLayout",
25    "GstAudio.AudioChannelPosition",
26    "GstAudio.StreamVolume",
27    "GstAudio.StreamVolumeFormat",
28    "GstAudio.AudioSink",
29    "GstAudio.AudioSrc",
30    "GstAudio.AudioBaseSrc",
31]
32
33manual = [
34    "GObject.Object",
35    "Gst.AllocationParams",
36    "Gst.Allocator",
37    "Gst.ClockTimeDiff",
38    "Gst.Element",
39    "Gst.Format",
40    "Gst.TagList",
41    "Gst.TagMergeMode",
42    "GstBase.BaseSink",
43    "GstBase.BaseSrc",
44    "GstAudio.AudioClippingMeta",
45    "GstAudio.AudioFormatInfo",
46    "GstAudio.AudioInfo",
47    "GstAudio.AudioLevelMeta",
48    "GstAudio.AudioMeta",
49    "GstAudio.AudioRingBufferSpec",
50]
51
52[[object]]
53name = "Gst.Object"
54# For renaming the trait...
55status = "manual"
56trait_name = "GstObjectExt"
57
58[[object]]
59name = "Gst.Caps"
60status = "manual"
61ref_mode = "ref"
62
63[[object]]
64name = "Gst.Buffer"
65status = "manual"
66ref_mode = "ref"
67
68[[object]]
69name = "Gst.ClockTime"
70status = "manual"
71conversion_type = "Option"
72
73[[object]]
74name = "GstAudio.AudioBaseSink"
75status = "generate"
76
77    [[object.function]]
78    name = "get_alignment_threshold"
79        [object.function.return]
80        mandatory = true
81
82    [[object.function]]
83    name = "get_discont_wait"
84        [object.function.return]
85        mandatory = true
86
87    [[object.function]]
88    name = "set_alignment_threshold"
89        [[object.function.parameter]]
90        name = "alignment_threshold"
91        mandatory = true
92
93    [[object.function]]
94    name = "set_discont_wait"
95        [[object.function.parameter]]
96        name = "discont_wait"
97        mandatory = true
98
99[[object]]
100name = "GstAudio.AudioBuffer"
101status = "manual"
102
103    [[object.function]]
104    name = "map"
105    # Readable and writable variant dealing with mutability
106    rename = "from_buffer_readable"
107
108[[object]]
109name = "GstAudio.AudioFormat"
110status = "generate"
111
112    [[object.derive]]
113    name = "Debug, Eq, PartialEq, Hash"
114
115    [[object.member]]
116    name = "s16"
117    # Platform dependant
118    manual = true
119
120    [[object.member]]
121    name = "u16"
122    # Platform dependant
123    manual = true
124
125    [[object.member]]
126    name = "s24_32"
127    # Platform dependant
128    manual = true
129
130    [[object.member]]
131    name = "u24_32"
132    # Platform dependant
133    manual = true
134
135    [[object.member]]
136    name = "s32"
137    # Platform dependant
138    manual = true
139
140    [[object.member]]
141    name = "u32"
142    # Platform dependant
143    manual = true
144
145    [[object.member]]
146    name = "s24"
147    # Platform dependant
148    manual = true
149
150    [[object.member]]
151    name = "u24"
152    # Platform dependant
153    manual = true
154
155    [[object.member]]
156    name = "s20"
157    # Platform dependant
158    manual = true
159
160    [[object.member]]
161    name = "u20"
162    # Platform dependant
163    manual = true
164
165    [[object.member]]
166    name = "s18"
167    # Platform dependant
168    manual = true
169
170    [[object.member]]
171    name = "u18"
172    # Platform dependant
173    manual = true
174
175    [[object.member]]
176    name = "f32"
177    # Platform dependant
178    manual = true
179
180    [[object.member]]
181    name = "f64"
182    # Platform dependant
183    manual = true
184
185    [[object.function]]
186    name = "to_string"
187    # This has an Unknown field that may return NULL or "UNKNOWN"
188    manual = true
189        [object.function.return]
190        nullable = false
191
192    [[object.function]]
193    name = "fill_silence"
194    # Function does not belong in AudioFormat but AudioFormatInfo.
195    # Manual implementation is available, and glib argument conversion
196    # is broken.
197    manual = true
198
199    [[object.function]]
200    name = "get_info"
201    # Result is not nullable, function does effectively the same
202    # as AudioFormatInfo::from_format()
203    ignore = true
204
205    [[object.function]]
206    name = "build_integer"
207    # Use custom AudioEndianness enum
208    manual = true
209
210[[object]]
211name = "GstAudio.AudioStreamAlign"
212status = "generate"
213
214    [[object.function]]
215    name = "process"
216    # bool does not signal error
217    manual = true
218
219    [[object.function]]
220    pattern = "get_.*"
221        [[object.function.parameter]]
222        name = "align"
223        const = true
224
225    [[object.function]]
226    name = "new"
227        [[object.function.parameter]]
228        name = "alignment_threshold"
229        mandatory = true
230        [[object.function.parameter]]
231        name = "discont_wait"
232        mandatory = true
233
234    [[object.function]]
235    name = "get_alignment_threshold"
236        [object.function.return]
237        mandatory = true
238
239    [[object.function]]
240    name = "get_discont_wait"
241        [object.function.return]
242        mandatory = true
243
244    [[object.function]]
245    name = "set_alignment_threshold"
246        [[object.function.parameter]]
247        name = "alignment_threshold"
248        mandatory = true
249
250    [[object.function]]
251    name = "set_discont_wait"
252        [[object.function.parameter]]
253        name = "discont_wait"
254        mandatory = true
255
256[[object]]
257name = "GstAudio.AudioDecoder"
258status = "generate"
259manual_traits = ["AudioDecoderExtManual"]
260
261    [[object.function]]
262    name = "finish_frame"
263    manual = true
264
265    [[object.function]]
266    name = "finish_subframe"
267    manual = true
268
269    [[object.function]]
270    name = "get_latency"
271        [[object.function.parameter]]
272        name = "min"
273        mandatory = true
274
275    [[object.function]]
276    name = "get_min_latency"
277        [object.function.return]
278        mandatory = true
279
280    [[object.function]]
281    name = "get_tolerance"
282        [object.function.return]
283        mandatory = true
284
285    [[object.function]]
286    name = "negotiate"
287    manual = true
288
289    [[object.function]]
290    name = "set_latency"
291        [[object.function.parameter]]
292        name = "min"
293        mandatory = true
294
295    [[object.function]]
296    name = "set_min_latency"
297        [[object.function.parameter]]
298        name = "num"
299        mandatory = true
300
301    [[object.function]]
302    name = "set_output_caps"
303    manual = true
304
305    [[object.function]]
306    name = "set_output_format"
307    manual = true
308
309    [[object.function]]
310    name = "set_tolerance"
311        [[object.function.parameter]]
312        name = "tolerance"
313        mandatory = true
314
315    [[object.function]]
316    name = "get_allocator"
317    manual = true
318
319    [[object.function]]
320    name = "proxy_getcaps"
321        [object.function.return]
322        nullable = false
323
324    [[object.function]]
325    name = "allocate_output_buffer"
326        [object.function.return]
327        nullable_return_is_error = "Failed to allocate output buffer"
328
329[[object]]
330name = "GstAudio.AudioEncoder"
331status = "generate"
332manual_traits = ["AudioEncoderExtManual"]
333
334    [[object.function]]
335    name = "finish_frame"
336    manual = true
337
338    [[object.function]]
339    name = "negotiate"
340    manual = true
341
342    [[object.function]]
343    name = "set_output_format"
344    manual = true
345
346    [[object.function]]
347    name = "get_allocator"
348    manual = true
349
350    [[object.function]]
351    name = "get_latency"
352        [[object.function.parameter]]
353        name = "min"
354        mandatory = true
355
356    [[object.function]]
357    name = "get_tolerance"
358        [object.function.return]
359        mandatory = true
360
361    [[object.function]]
362    name = "proxy_getcaps"
363        [object.function.return]
364        nullable = false
365
366    [[object.function]]
367    name = "set_latency"
368        [[object.function.parameter]]
369        name = "min"
370        mandatory = true
371
372    [[object.function]]
373    name = "set_tolerance"
374        [[object.function.parameter]]
375        name = "tolerance"
376        mandatory = true
377
378    [[object.function]]
379    name = "allocate_output_buffer"
380        [object.function.return]
381        nullable_return_is_error = "Failed to allocate output buffer"
382
383[[object]]
384name = "GstAudio.AudioRingBufferFormatType"
385status = "generate"
386
387    [[object.member]]
388    name = "mpeg2_aac_raw"
389    version = "1.12"
390
391    [[object.member]]
392    name = "mpeg4_aac_raw"
393    version = "1.12"
394
395    [[object.member]]
396    name = "flac"
397    version = "1.12"
398
399[[object]]
400name = "GstAudio.AudioFlags"
401status = "generate"
402    [[object.member]]
403    name = "none"
404    ignore = true
405
406[[object]]
407name = "GstAudio.AudioPackFlags"
408status = "generate"
409    [[object.member]]
410    name = "none"
411    ignore = true
412