gstreamer-rs/gstreamer-audio/Gir.toml
Sebastian Dröge eadb3c6db2 audio: Reduce size of AudioInfo from 832 to 320 bytes and make audio channel position handling more efficient
Assume that there are never more than 64 named channel positions and by
that provide an 1:1 mapping between the C and Rust types.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1198>
2023-01-23 12:58:16 +02:00

406 lines
8.3 KiB
TOML

[options]
girs_directories = ["../gir-files", "../gst-gir-files"]
library = "GstAudio"
version = "1.0"
min_cfg_version = "1.14"
work_mode = "normal"
concurrency = "send+sync"
generate_safety_asserts = true
single_version_file = true
generate_display_trait = false
trust_return_value_nullability = true
external_libraries = [
"GLib",
"GObject",
"Gst",
"GstBase",
]
generate = [
"GstAudio.AudioAggregatorConvertPad",
"GstAudio.AudioAggregatorPad",
"GstAudio.AudioBaseSrc",
"GstAudio.AudioDitherMethod",
"GstAudio.AudioFilter",
"GstAudio.AudioFormatFlags",
"GstAudio.AudioLayout",
"GstAudio.AudioNoiseShapingMethod",
"GstAudio.AudioResamplerMethod",
"GstAudio.AudioRingBufferFormatType",
"GstAudio.AudioSink",
"GstAudio.AudioSrc",
"GstAudio.StreamVolume",
"GstAudio.StreamVolumeFormat",
]
manual = [
"GObject.Object",
"Gst.AllocationParams",
"Gst.Allocator",
"Gst.ClockTimeDiff",
"Gst.Element",
"Gst.Format",
"Gst.TagList",
"Gst.TagMergeMode",
"GstAudio.AudioChannelPosition",
"GstAudio.AudioClippingMeta",
"GstAudio.AudioFormatInfo",
"GstAudio.AudioInfo",
"GstAudio.AudioLevelMeta",
"GstAudio.AudioMeta",
"GstAudio.AudioRingBufferSpec",
"GstBase.Aggregator",
"GstBase.AggregatorPad",
"GstBase.BaseSink",
"GstBase.BaseSrc",
"GstBase.BaseTransform",
]
[[object]]
name = "Gst.Buffer"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.Caps"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.ClockTime"
status = "manual"
conversion_type = "Option"
[[object]]
name = "Gst.FlowReturn"
status = "manual"
must_use = true
[object.conversion_type]
variant = "Result"
ok_type = "gst::FlowSuccess"
err_type = "gst::FlowError"
[[object]]
name = "Gst.Object"
# For renaming the trait...
status = "manual"
trait_name = "GstObjectExt"
[[object]]
name = "GstAudio.AudioAggregator"
status = "generate"
[[object.function]]
name = "set_sink_caps"
# capsref
manual = true
[[object.property]]
name = "output-buffer-duration-fraction"
# fraction
manual = true
[[object.property]]
name = "ignore-inactive-pads"
# getter/setter exists in base class
ignore = true
[[object.property]]
name = "force-live"
# getter/setter exists in base class
ignore = true
[[object]]
name = "GstAudio.AudioBaseSink"
status = "generate"
[[object.function]]
name = "get_alignment_threshold"
[object.function.return]
mandatory = true
[[object.function]]
name = "get_discont_wait"
[object.function.return]
mandatory = true
[[object.function]]
name = "set_alignment_threshold"
[[object.function.parameter]]
name = "alignment_threshold"
mandatory = true
[[object.function]]
name = "set_discont_wait"
[[object.function.parameter]]
name = "discont_wait"
mandatory = true
[[object]]
name = "GstAudio.AudioBuffer"
status = "manual"
[[object.function]]
name = "map"
# Readable and writable variant dealing with mutability
rename = "from_buffer_readable"
[[object]]
name = "GstAudio.AudioDecoder"
status = "generate"
manual_traits = ["AudioDecoderExtManual"]
[[object.function]]
name = "get_latency"
[[object.function.parameter]]
name = "min"
mandatory = true
[[object.function]]
name = "get_min_latency"
[object.function.return]
mandatory = true
[[object.function]]
name = "get_tolerance"
[object.function.return]
mandatory = true
[[object.function]]
name = "negotiate"
manual = true
[[object.function]]
name = "set_latency"
[[object.function.parameter]]
name = "min"
mandatory = true
[[object.function]]
name = "set_min_latency"
[[object.function.parameter]]
name = "num"
mandatory = true
[[object.function]]
name = "set_output_caps"
manual = true
[[object.function]]
name = "set_output_format"
manual = true
[[object.function]]
name = "set_tolerance"
[[object.function.parameter]]
name = "tolerance"
mandatory = true
[[object.function]]
name = "get_allocator"
manual = true
[[object]]
name = "GstAudio.AudioEncoder"
status = "generate"
manual_traits = ["AudioEncoderExtManual"]
[[object.function]]
name = "negotiate"
manual = true
[[object.function]]
name = "set_output_format"
manual = true
[[object.function]]
name = "get_allocator"
manual = true
[[object.function]]
name = "get_latency"
[[object.function.parameter]]
name = "min"
mandatory = true
[[object.function]]
name = "get_tolerance"
[object.function.return]
mandatory = true
[[object.function]]
name = "set_latency"
[[object.function.parameter]]
name = "min"
mandatory = true
[[object.function]]
name = "set_tolerance"
[[object.function.parameter]]
name = "tolerance"
mandatory = true
[[object.function]]
name = "set_headers"
manual = true
[[object]]
name = "GstAudio.AudioFlags"
status = "generate"
[[object.member]]
name = "none"
ignore = true
[[object]]
name = "GstAudio.AudioFormat"
status = "generate"
[[object.derive]]
name = "Debug, Eq, PartialEq, Hash"
[[object.member]]
name = "s16"
# Platform dependant
manual = true
[[object.member]]
name = "u16"
# Platform dependant
manual = true
[[object.member]]
name = "s24_32"
# Platform dependant
manual = true
[[object.member]]
name = "u24_32"
# Platform dependant
manual = true
[[object.member]]
name = "s32"
# Platform dependant
manual = true
[[object.member]]
name = "u32"
# Platform dependant
manual = true
[[object.member]]
name = "s24"
# Platform dependant
manual = true
[[object.member]]
name = "u24"
# Platform dependant
manual = true
[[object.member]]
name = "s20"
# Platform dependant
manual = true
[[object.member]]
name = "u20"
# Platform dependant
manual = true
[[object.member]]
name = "s18"
# Platform dependant
manual = true
[[object.member]]
name = "u18"
# Platform dependant
manual = true
[[object.member]]
name = "f32"
# Platform dependant
manual = true
[[object.member]]
name = "f64"
# Platform dependant
manual = true
[[object.function]]
name = "to_string"
# This has an Unknown field that may return NULL or "UNKNOWN"
manual = true
[[object.function]]
name = "fill_silence"
# Function does not belong in AudioFormat but AudioFormatInfo.
# Manual implementation is available, and glib argument conversion
# is broken.
manual = true
[[object.function]]
name = "get_info"
# Result is not nullable, function does effectively the same
# as AudioFormatInfo::from_format()
ignore = true
[[object.function]]
name = "build_integer"
# Use custom AudioEndianness enum
manual = true
[[object]]
name = "GstAudio.AudioPackFlags"
status = "generate"
[[object.member]]
name = "none"
ignore = true
[[object]]
name = "GstAudio.AudioStreamAlign"
status = "generate"
[[object.function]]
name = "process"
# bool does not signal error
manual = true
[[object.function]]
pattern = "get_.*"
[[object.function.parameter]]
name = "align"
const = true
[[object.function]]
name = "new"
[[object.function.parameter]]
name = "alignment_threshold"
mandatory = true
[[object.function.parameter]]
name = "discont_wait"
mandatory = true
[[object.function]]
name = "get_alignment_threshold"
[object.function.return]
mandatory = true
[[object.function]]
name = "get_discont_wait"
[object.function.return]
mandatory = true
[[object.function]]
name = "set_alignment_threshold"
[[object.function.parameter]]
name = "alignment_threshold"
mandatory = true
[[object.function]]
name = "set_discont_wait"
[[object.function.parameter]]
name = "discont_wait"
mandatory = true