gstreamer-rs/gstreamer-base/Gir.toml
Sebastian Dröge 1199e89dca gstreamer-base/adapter: Add error checking at the bindings level
Instead of running into (inconsistent even) assertions inside the C
code.

Also don't return uninitialized data and signed offsets from the
masked_scan() functions.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/298
2020-12-06 20:11:18 +02:00

309 lines
5.9 KiB
TOML

[options]
girs_dir = "../gir-files"
library = "GstBase"
version = "1.0"
min_cfg_version = "1.8"
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",
]
generate = [
"GstBase.PushSrc",
"GstBase.AggregatorStartTimeSelection",
]
manual = [
"GObject.Object",
"GLib.Bytes",
"Gst.Object",
"Gst.Element",
"Gst.BufferPool",
"Gst.ClockTimeDiff",
"Gst.ClockReturn",
"Gst.FlowReturn",
"Gst.Format",
"Gst.Pad",
"Gst.TypeFindProbability",
"Gst.TagMergeMode",
"GstBase.BaseParseFrame",
]
[[object]]
name = "GstBase.Adapter"
status = "generate"
final_type = true
concurrency = "send-unique"
[[object.function]]
name = "map"
# Unsafe
ignore = true
[[object.function]]
name = "unmap"
# Unsafe
ignore = true
[[object.function]]
pattern = "copy.*"
# Unsafe
manual = true
[[object.function]]
name = "push"
# Move Buffer
manual = true
[[object.function]]
pattern = "take.*"
# Unsafe
ignore = true
[[object.function]]
pattern = "get.*"
# Unsafe
ignore = true
[[object.function]]
pattern = "masked.*"
# Unsafe
ignore = true
[[object.function]]
name = "flush"
# Unsafe Buffer
manual = true
[[object]]
name = "GstBase.FlowCombiner"
# Manual because ref/unref functions were added much later
status = "manual"
final_type = true
concurrency = "none"
[[object]]
name = "GstBase.BaseSink"
status = "generate"
manual_traits = ["BaseSinkExtManual"]
[[object.function]]
name = "wait"
# Use Result<FlowSuccess, FlowError>
manual = true
[[object.function]]
name = "wait_preroll"
# Use Result<FlowSuccess, FlowError>
manual = true
[[object.function]]
name = "wait_clock"
# Use Result<ClockSuccess, ClockError>
manual = true
[[object.function]]
name = "query_latency"
# Use Result
manual = true
[[object]]
name = "GstBase.BaseSrc"
status = "generate"
manual_traits = ["BaseSrcExtManual"]
[[object.function]]
name = "set_caps"
[object.function.return]
bool_return_is_error = "Failed to set caps"
[[object.function]]
name = "start_complete"
# Use Result<FlowSuccess, FlowError>
manual = true
[[object.function]]
name = "start_wait"
# Use Result<FlowSuccess, FlowError>
manual = true
[[object.function]]
name = "submit_buffer_list"
# Pass by value, to be added manually
ignore = true
[[object.function]]
name = "wait_playing"
# Use Result<FlowSuccess, FlowError>
manual = true
[[object.function]]
name = "query_latency"
# Use Result
manual = true
[[object.function]]
name = "new_segment"
# Segment parameter
manual = true
[[object]]
name = "GstBase.BaseTransform"
status = "generate"
manual_traits = ["BaseTransformExtManual"]
[[object.function]]
name = "update_src_caps"
[object.function.return]
bool_return_is_error = "Failed to update src caps"
[[object]]
name = "GstBase.Aggregator"
status = "generate"
manual_traits = ["AggregatorExtManual"]
[[object.function]]
name = "finish_buffer"
# Takes ownership
manual = true
[[object.function]]
name = "finish_buffer_list"
# Takes ownership
manual = true
[[object.function]]
name = "selected_samples"
# Info parameter
manual = true
[[object.property]]
name = "latency"
version = "1.14"
[[object.property]]
name = "start-time-selection"
version = "1.18"
[[object.property]]
name = "min-upstream-latency"
# clock time instead of u64
manual = true
[[object]]
name = "GstBase.AggregatorPad"
status = "generate"
manual_traits = ["AggregatorPadExtManual"]
[[object]]
name = "GstBase.*"
status = "generate"
# We'll opt-in for constants at a later time
[[object.constant]]
pattern = ".+"
ignore = true
[[object.function]]
name = "type_find_helper_for_data"
# broken return value
ignore = true
[[object.function]]
name = "type_find_helper_for_data_with_extension"
# broken return value
ignore = true
[[object.function]]
name = "type_find_helper_for_buffer"
# broken return value
ignore = true
[[object.function]]
name = "type_find_helper_for_buffer_with_extension"
# broken return value
ignore = true
[[object.function]]
name = "type_find_helper"
[object.function.return]
nullable_return_is_error = "Could not find type"
[[object.function]]
name = "type_find_helper_for_extension"
[object.function.return]
nullable_return_is_error = "Could not find type"
[[object]]
name = "Gst.Structure"
status = "manual"
ref_mode = "ref-mut"
[[object]]
name = "Gst.Caps"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.Buffer"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.BufferList"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.Sample"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.ClockTime"
status = "manual"
conversion_type = "scalar"
[[object]]
name = "Gst.TagList"
status = "manual"
ref_mode = "ref"
[[object]]
name = "GstBase.BaseParse"
status = "generate"
manual_traits = ["BaseParseExtManual"]
[[object.function]]
name = "finish_frame"
manual = true
[[object.function]]
name = "set_duration"
manual = true
[[object.function]]
name = "convert_default"
manual = true
[[object.function]]
name = "set_frame_rate"
manual = true
# Didn't bind gst_base_parse_frame_{new,init} so not needed
[[object.function]]
name = "push_frame"
ignore = true
[[object]]
name = "GstBase.BaseParseFrameFlags"
status = "generate"
[[object.member]]
name = "none"
ignore = true