gstreamer-rs/gstreamer/Gir.toml
Sebastian Dröge aab0a45cfc gstreamer: Implement pad sticky event getter by type
This allows the caller to directly use the specific event type API on
the result instead of first having to match on it first.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/314
2021-10-17 14:04:18 +03:00

2265 lines
49 KiB
TOML

[options]
girs_directories = ["../gir-files", "../gst-gir-files"]
library = "Gst"
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",
]
generate = [
"Gst.BufferingMode",
"Gst.BusSyncReply",
"Gst.CapsIntersectMode",
"Gst.ClockEntryType",
"Gst.ClockTimeDiff",
"Gst.CoreError",
"Gst.DebugColorFlags",
"Gst.DebugGraphDetails",
"Gst.DebugLevel",
"Gst.EventTypeFlags",
"Gst.GapFlags",
"Gst.LibraryError",
"Gst.PadMode",
"Gst.PadProbeReturn",
"Gst.ParseError",
"Gst.PluginAPIFlags",
"Gst.PluginError",
"Gst.PluginFlags",
"Gst.ProgressType",
"Gst.PromiseResult",
"Gst.QOSType",
"Gst.ResourceError",
"Gst.SchedulingFlags",
"Gst.SeekType",
"Gst.SerializeFlags",
"Gst.StreamError",
"Gst.StreamStatusType",
"Gst.StreamType",
"Gst.StructureChangeType",
"Gst.SystemClock",
"Gst.TagFlag",
"Gst.TagMergeMode",
"Gst.TaskState",
"Gst.TocSetter",
"Gst.URIError",
"Gst.URIHandler",
]
manual = [
"GLib.DateTime",
"GLib.Error",
"GLib.MainContext",
"GLib.Quark",
"GLib.Source",
"GLib.Type",
"GObject.Object",
"GObject.Value",
"Gst.AllocationParams",
"Gst.CapsFeatures",
"Gst.Segment",
"Gst.StaticCaps",
"Gst.StaticPadTemplate",
"Gst.TypeFind",
]
[[object]]
name = "Gst.Allocator"
status = "generate"
[[object.function]]
name = "alloc"
[object.function.return]
nullable_return_is_error = "Failed to allocate memory"
[[object.function.parameter]]
name = "params"
const = true
[[object]]
name = "Gst.Bin"
status = "generate"
trait_name = "GstBinExt"
[[object.signal]]
name = "do-latency"
# Use Result<(), glib::BoolError>
manual = true
[[object.function]]
name = "add_many"
# Implemented by repeatedly calling add()
manual = true
[[object.function]]
name = "remove_many"
# Implemented by repeatedly calling remove()
manual = true
[[object.function]]
name = "iterate_all_by_element_factory_name"
manual = true
[[object.function]]
name = "iterate_all_by_interface"
manual = true
[[object.function]]
name = "iterate_elements"
manual = true
[[object.function]]
name = "iterate_recurse"
manual = true
[[object.function]]
name = "iterate_sinks"
manual = true
[[object.function]]
name = "iterate_sorted"
manual = true
[[object.function]]
name = "iterate_sources"
manual = true
[[object.function]]
name = "add"
[object.function.return]
bool_return_is_error = "Failed to add element"
[[object.function]]
name = "remove"
[object.function.return]
bool_return_is_error = "Failed to remove element"
[[object.function]]
name = "recalculate_latency"
[object.function.return]
bool_return_is_error = "Failed to recalculate latency"
[[object.function]]
name = "sync_children_states"
[object.function.return]
bool_return_is_error = "Failed to sync children states"
[[object]]
name = "Gst.BinFlags"
status = "generate"
[[object.member]]
name = "last"
ignore = true
[[object]]
name = "Gst.Bus"
status = "generate"
final_type = true
[[object.function]]
name = "set_sync_handler"
# Into<Option<_>> makes this hard to use
manual = true
[[object.function]]
name = "add_signal_watch_full"
# Priority
manual = true
[[object.function]]
name = "timed_pop_filtered"
# Uses enum as flags
manual = true
[[object.function]]
name = "pop_filtered"
# Uses enum as flags
manual = true
[[object.function]]
name = "poll"
# Uses enum as flags
manual = true
[[object.function]]
name = "create_watch"
# More convenient manual implementation
manual = true
[[object.function]]
name = "add_watch"
# More specific trait bounds possible for the closure
manual = true
[[object.function]]
name = "add_watch_full"
# More specific trait bounds possible for the closure
manual = true
[[object.function]]
name = "remove_watch"
[object.function.return]
bool_return_is_error = "Bus has no event source"
[[object.signal]]
name = "message"
concurrency = "send"
[[object.function]]
name = "post"
[object.function.return]
bool_return_is_error = "Failed to post message"
[[object]]
name = "Gst.BufferFlags"
status = "generate"
[[object.derive]]
name = "serde::Serialize, serde::Deserialize"
cfg_condition = "feature = \"ser_de\""
[[object.member]]
name = "last"
ignore = true
[[object]]
name = "Gst.BufferCopyFlags"
status = "generate"
[[object.member]]
name = "none"
ignore = true
[[object]]
name = "Gst.BufferPoolAcquireFlags"
status = "generate"
[[object.member]]
name = "none"
ignore = true
[[object.member]]
name = "last"
ignore = true
[[object]]
name = "Gst.ChildProxy"
status = "generate"
manual_traits = ["ChildProxyExtManual"]
[[object.function]]
name = "get_property"
rename = "child_property"
manual = true
[[object.function]]
name = "set_property"
rename = "set_child_property"
manual = true
[[object]]
name = "Gst.ClockTime"
status = "manual"
conversion_type = "Option"
[[object]]
name = "Gst.ClockFlags"
status = "generate"
[[object.member]]
name = "last"
ignore = true
[[object]]
name = "Gst.ElementFactoryListType"
status = "manual"
conversion_type = "scalar"
[[object]]
name = "Gst.Format"
status = "generate"
[[object.derive]]
name = "serde::Serialize, serde::Deserialize"
cfg_condition = "feature = \"ser_de\""
[[object.derive]]
name = "Debug, PartialEq, Eq, PartialOrd, Ord, Hash"
[[object.function]]
name = "register"
# Needs manual work
ignore = true
[[object]]
name = "Gst.Memory"
status = "manual"
[[object.function]]
name = "map"
# Readable and writable variant dealing with mutability
# Non-into variants available under MemoryRef
rename = "into_mapped_memory_readable"
[[object.function]]
name = "unmap"
ignore = true
[[object]]
name = "Gst.PadDirection"
status = "generate"
[[object.derive]]
name = "serde::Serialize, serde::Deserialize"
cfg_condition = "feature = \"ser_de\""
[[object.derive]]
name = "Debug, PartialEq, Eq, PartialOrd, Ord, Hash"
[[object]]
name = "Gst.PadPresence"
status = "generate"
[[object.derive]]
name = "serde::Serialize, serde::Deserialize"
cfg_condition = "feature = \"ser_de\""
[[object.derive]]
name = "Debug, PartialEq, Eq, PartialOrd, Ord, Hash"
[[object]]
name = "Gst.SeekFlags"
status = "generate"
[[object.member]]
name = "trickmode_forward_predicted"
version = "1.18"
[[object.member]]
name = "instant_rate_change"
version = "1.18"
[[object.member]]
name = "none"
ignore = true
[[object]]
name = "Gst.SegmentFlags"
status = "generate"
[[object.derive]]
name = "serde::Serialize, serde::Deserialize"
cfg_condition = "feature = \"ser_de\""
[[object.member]]
name = "trickmode_forward_predicted"
version = "1.18"
[[object.member]]
name = "none"
ignore = true
[[object]]
name = "Gst.StackTraceFlags"
status = "generate"
[[object.member]]
name = "none"
ignore = true
[[object]]
name = "Gst.StreamFlags"
status = "generate"
[[object.member]]
name = "none"
ignore = true
[[object]]
name = "Gst.TagSetter"
status = "generate"
manual_traits = ["TagSetterExtManual"]
[[object.function]]
name = "add_tag_value"
manual = true
[[object.function]]
name = "add_tags"
# Takes a raw pointer
ignore = true
[[object]]
name = "Gst.TocScope"
status = "generate"
[[object.derive]]
name = "serde::Serialize, serde::Deserialize"
cfg_condition = "feature = \"ser_de\""
[[object.derive]]
name = "Debug, PartialEq, Eq, PartialOrd, Ord, Hash"
[[object]]
name = "Gst.TocEntryType"
status = "generate"
[[object.derive]]
name = "serde::Serialize, serde::Deserialize"
cfg_condition = "feature = \"ser_de\""
[[object.derive]]
name = "Debug, PartialEq, Eq, PartialOrd, Ord, Hash"
[[object]]
name = "Gst.TocLoopType"
status = "generate"
[[object.derive]]
name = "serde::Serialize, serde::Deserialize"
cfg_condition = "feature = \"ser_de\""
[[object.derive]]
name = "Debug, PartialEq, Eq, PartialOrd, Ord, Hash"
[[object]]
name = "Gst.Rank"
status = "generate"
[[object.derive]]
name = "serde::Serialize, serde::Deserialize"
cfg_condition = "feature = \"ser_de\""
[[object.derive]]
name = "Debug"
[[object]]
name = "Gst.TypeFindProbability"
status = "generate"
[[object.derive]]
name = "Debug"
[[object]]
name = "Gst.EventType"
status = "generate"
[[object.derive]]
name = "Debug, PartialEq, Eq, Hash"
[[object.member]]
name = "select_streams"
version = "1.10"
[[object.member]]
name = "stream_selection"
version = "1.10"
[[object.member]]
name = "stream_group_done"
version = "1.10"
[[object.member]]
name = "instant_rate_change"
version = "1.18"
[[object.member]]
name = "instant_rate_sync_time"
version = "1.18"
[[object]]
name = "Gst.Structure"
status = "manual"
ref_mode = "ref"
# Functions moved to `StructureRef`
[[object.function]]
name = "set"
ignore = true
[[object.function]]
name = "set_value"
ignore = true
[[object.function]]
name = "get_value"
ignore = true
[[object.function]]
name = "id_get_value"
rename = "value_by_quark"
ignore = true
[[object.function]]
name = "take_value"
rename = "set_value"
ignore = true
[[object.function]]
name = "id_take_value"
rename = "set_value_by_quark"
ignore = true
[[object.function]]
name = "get_name"
rename = "name"
ignore = true
[[object.function]]
name = "get_name_id"
rename = "name_quark"
ignore = true
[[object.function]]
name = "set_name"
ignore = true
[[object.function]]
name = "has_field"
ignore = true
[[object.function]]
name = "has_field_with_typed"
rename = "has_field_with_type"
ignore = true
[[object.function]]
name = "id_has_field"
rename = "has_field_by_quark"
ignore = true
[[object.function]]
name = "id_has_field_typed"
rename = "has_field_with_type_by_quark"
ignore = true
[[object.function]]
name = "remove_field"
ignore = true
[[object.function]]
name = "remove_fields"
# Repeatedly call remove_field()
ignore = true
[[object.function]]
name = "remove_all_fields"
ignore = true
[[object.function]]
name = "get_nth_field_name"
ignore = true
[[object.function]]
name = "n_fields"
ignore = true
[[object.function]]
name = "can_intersect"
ignore = true
[[object.function]]
name = "intersect"
ignore = true
[[object.function]]
name = "is_subset"
ignore = true
[[object.function]]
name = "fixate"
ignore=true
[[object.function]]
name = "fixate_field"
ignore=true
[[object.function]]
name = "fixate_field_boolean"
ignore=true
[[object.function]]
name = "fixate_field_string"
ignore=true
[[object.function]]
name = "fixate_field_nearest_double"
ignore=true
[[object.function]]
name = "fixate_field_nearest_fraction"
ignore=true
[[object.function]]
name = "fixate_field_nearest_int"
ignore=true
# Not implemented
[[object.function]]
name = "set_parent_refcount"
ignore = true
[[object]]
name = "Gst.ParseContext"
status = "manual"
ref_mode = "ref-mut"
[[object]]
name = "Gst.ParseFlags"
status = "generate"
[[object.member]]
name = "place_in_bin"
version = "1.10"
[[object.member]]
name = "none"
ignore = true
[[object]]
name = "Gst.PipelineFlags"
status = "generate"
[[object.member]]
name = "last"
ignore = true
[[object]]
name = "Gst.PluginDependencyFlags"
status = "generate"
[[object.member]]
name = "none"
ignore = true
[[object]]
name = "Gst.Caps"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.Buffer"
status = "manual"
ref_mode = "ref"
[[object.function]]
name = "map"
# Readable and writable variant dealing with mutability
# Non-into variants available under BufferRef
rename = "into_mapped_buffer_readable"
[[object.function]]
name = "unmap"
ignore = true
[[object]]
name = "Gst.BufferList"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.Sample"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.Message"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.Event"
status = "manual"
ref_mode = "ref"
[[object.function]]
name = "new_caps"
# Moved to CapsBuilder::new()
ignore = true
[[object.function]]
name = "new_qos"
# Moved to QosBuilder::new()
ignore = true
[[object.function]]
name = "new_seek"
# Moved to SeekBuilder::new()
ignore = true
[[object.function]]
name = "parse_stream"
# Moved to StreamStart::stream()
ignore = true
[[object.function]]
name = "parse_stream_start"
# Moved to StreamStart::stream_id()
ignore = true
[[object]]
name = "Gst.TagList"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.TagScope"
status = "generate"
[[object.derive]]
name = "serde::Serialize, serde::Deserialize"
cfg_condition = "feature = \"ser_de\""
[[object.derive]]
name = "Debug, PartialEq, Eq, PartialOrd, Ord, Hash"
[[object]]
name = "Gst.Query"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.Context"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.Toc"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.TocEntry"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.Pipeline"
status = "generate"
[[object.function]]
name = "get_delay"
[object.function.return]
mandatory = true
[[object.function]]
name = "set_delay"
[[object.function.parameter]]
name = "delay"
mandatory = true
[[object]]
name = "Gst.Promise"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.ClockID"
status = "manual"
[[object.function]]
name = "compare_func"
rename = "compare_by_time"
[[object]]
name = "Gst.Clock"
status = "generate"
manual_traits = ["ClockExtManual"]
[[object.function]]
name = "adjust_with_calibration"
# Associated function
manual = true
[[object.function]]
name = "unadjust_with_calibration"
# Associated function
manual = true
[[object.function]]
name = "new_periodic_id"
manual = true
[[object.function]]
name = "periodic_id_reinit"
manual = true
[[object.function]]
name = "new_single_shot_id"
manual = true
[[object.function]]
name = "single_shot_id_reinit"
manual = true
[[object.function]]
name = "add_observation"
[[object.function.parameter]]
name = "slave"
mandatory = true
[[object.function.parameter]]
name = "master"
mandatory = true
[[object.function]]
name = "add_observation_unapplied"
[[object.function.parameter]]
name = "slave"
mandatory = true
[[object.function.parameter]]
name = "master"
mandatory = true
[[object.function.parameter]]
name = "internal"
mandatory = true
[[object.function.parameter]]
name = "external"
mandatory = true
[[object.function.parameter]]
name = "rate_num"
mandatory = true
[[object.function.parameter]]
name = "rate_denom"
mandatory = true
[[object.function]]
name = "adjust_unlocked"
[[object.function.parameter]]
name = "internal"
mandatory = true
[[object.function]]
name = "get_calibration"
[[object.function.parameter]]
name = "internal"
mandatory = true
[[object.function.parameter]]
name = "external"
mandatory = true
[[object.function.parameter]]
name = "rate_num"
mandatory = true
[[object.function.parameter]]
name = "rate_denom"
mandatory = true
[[object.function]]
name = "get_internal_time"
[object.function.return]
mandatory = true
[[object.function]]
name = "get_resolution"
[object.function.return]
mandatory = true
[[object.function]]
name = "set_calibration"
[[object.function.parameter]]
name = "internal"
mandatory = true
[[object.function.parameter]]
name = "external"
mandatory = true
[[object.function.parameter]]
name = "rate_num"
mandatory = true
[[object.function.parameter]]
name = "rate_denom"
mandatory = true
[[object.function]]
name = "set_master"
[object.function.return]
bool_return_is_error = "Failed to set master clock"
[[object.function]]
name = "set_resolution"
[[object.function.parameter]]
name = "resolution"
mandatory = true
[object.function.return]
mandatory = true
[[object.function]]
name = "unadjust_unlocked"
[[object.function.parameter]]
name = "external"
mandatory = true
[[object.function]]
name = "wait_for_sync"
[object.function.return]
bool_return_is_error = "Timed out waiting for sync"
[[object]]
name = "Gst.ClockType"
status = "generate"
[[object.member]]
name = "tai"
version = "1.18"
[[object]]
name = "Gst.ElementFlags"
status = "generate"
[[object.member]]
name = "last"
ignore = true
[[object]]
name = "Gst.MemoryFlags"
status = "generate"
[[object.member]]
name = "last"
ignore = true
[[object]]
name = "Gst.Element"
status = "generate"
manual_traits = ["ElementExtManual"]
# Manual implementation provides associated functions on `Element`,
# but gir considers these methods on `ElementExtManual` in the docs.
[[object.function]]
name = "link_many"
ignore = true
[[object.function]]
name = "unlink_many"
ignore = true
[[object.function]]
name = "register"
ignore = true
[[object.function]]
name = "call_async"
# more specific closure type possible
manual = true
[[object.function]]
name = "set_base_time"
[[object.function.parameter]]
name = "time"
mandatory = true
[[object.function]]
name = "get_current_running_time"
# manual implementation also works for earlier versions
manual = true
[[object.function]]
name = "get_current_clock_time"
# manual implementation also works for earlier versions
manual = true
[[object.function]]
name = "get_request_pad"
# rename to more explicit name and avoid conflict with `request_pad`
# TODO: request_pad_simple is now _also_ in the 1.20 bindings!
rename = "request_pad_simple"
# Renamed version only available in not(1.20)
manual = true
[[object.function]]
name = "post_message"
# takes ownership of message
manual = true
[[object.function]]
name = "add_pad"
[object.function.return]
bool_return_is_error = "Failed to add pad"
[[object.function]]
name = "remove_pad"
[object.function.return]
bool_return_is_error = "Failed to remove pad"
[[object.function]]
name = "link"
[object.function.return]
bool_return_is_error = "Failed to link elements"
[[object.function]]
name = "link_filtered"
[[object.function.parameter]]
name = "filter"
# Can use `link` instead
nullable = false
[object.function.return]
bool_return_is_error = "Failed to link elements"
[[object.function]]
name = "link_pads"
[object.function.return]
bool_return_is_error = "Failed to link pads"
[[object.function]]
name = "link_pads_filtered"
[[object.function.parameter]]
name = "filter"
# Can use `link` instead
nullable = false
[object.function.return]
bool_return_is_error = "Failed to link pads"
[[object.function]]
name = "link_pads_full"
[object.function.return]
bool_return_is_error = "Failed to link pads"
[[object.function]]
name = "set_clock"
[object.function.return]
bool_return_is_error = "Failed to set clock"
[[object.function]]
name = "sync_state_with_parent"
[object.function.return]
bool_return_is_error = "Failed to sync state with parent"
[[object.function]]
name = "query"
# correct mutability
manual = true
[[object.function]]
name = "send_event"
# Pass by value
manual = true
[[object.function]]
name = "get_context_unlocked"
# Unsafe
ignore = true
[[object.function]]
name = "add_property_deep_notify_watch"
# ulong
manual = true
[[object.function]]
name = "add_property_notify_watch"
# ulong
manual = true
[[object.function]]
name = "remove_property_notify_watch"
# ulong
manual = true
[[object.function]]
name = "query_duration"
# formatted value
manual = true
[[object.function]]
name = "query_position"
# formatted value
manual = true
[[object.function]]
name = "query_convert"
# formatted value
manual = true
[[object.function]]
name = "seek"
# formatted value
manual = true
[[object.function]]
name = "seek_simple"
# formatted value
manual = true
[[object.function]]
name = "state_change_return_get_name"
# Wrong place
ignore = true
[[object.function]]
name = "state_get_name"
# Wrong place
ignore = true
[[object.function]]
name = "get_metadata"
# better manual function
manual = true
[[object.function]]
name = "get_pad_template"
# better manual function
manual = true
[[object.function]]
name = "get_pad_template_list"
# better manual function
manual = true
# Limited subset of `MessageType`,
# see `ElementMessageType`.
[[object.function]]
name = "message_full"
manual = true
[[object.function]]
name = "message_full_with_details"
manual = true
# Return iterators
[[object.function]]
name = "iterate_pads"
manual = true
[[object.function]]
name = "iterate_sink_pads"
manual = true
[[object.function]]
name = "iterate_src_pads"
manual = true
[[object]]
name = "Gst.ElementFactory"
status = "generate"
final_type = true
[[object.function]]
name = "create"
[object.function.return]
nullable_return_is_error = "Failed to create element from factory"
[[object.function]]
name = "make"
[object.function.return]
nullable_return_is_error = "Failed to create element from factory name"
[[object.function]]
name = "create_full"
# varargs
ignore = true
[[object.function]]
name = "create_valist"
# varargs
ignore = true
[[object.function]]
name = "create_with_properties"
# separate name/value arrays need to be merged
manual = true
[[object.function]]
name = "make_full"
# varargs
ignore = true
[[object.function]]
name = "make_valist"
# varargs
ignore = true
[[object.function]]
name = "make_with_properties"
# separate name/value arrays need to be merged
manual = true
[[object]]
name = "Gst.TypeFindFactory"
status = "generate"
final_type = true
[[object.function]]
name = "call_function"
# Set up native functions in `TypeFind`, calling into trait argument
manual = true
[[object]]
name = "Gst.DeviceProviderFactory"
status = "generate"
final_type = true
[[object]]
name = "Gst.DeviceProvider"
status = "generate"
manual_traits = ["DeviceProviderExtManual"]
[[object.function]]
name = "start"
[object.function.return]
bool_return_is_error = "Failed to start"
[[object.function]]
name = "register"
manual = true
[[object.function]]
name = "get_metadata"
# better manual function
manual = true
[[object]]
name = "Gst.DeviceMonitor"
status = "generate"
manual_traits = ["DeviceMonitorExtManual"]
[[object.function]]
name = "new"
# Work-around for 1.14 switch from transfer-floating to transfer-full
manual = true
[[object.function]]
name = "add_filter"
# Return Option<DeviceMonitorFilterId>
manual = true
[[object.function]]
name = "start"
[object.function.return]
bool_return_is_error = "Failed to start"
[[object.function]]
name = "remove_filter"
# Use DeviceMonitorFilterId and return Result<(), glib::BoolError>
manual = true
[[object]]
name = "Gst.Device"
status = "generate"
[[object.function]]
name = "reconfigure_element"
[object.function.return]
bool_return_is_error = "Failed to reconfigure the element to use this device"
[[object.function]]
name = "create_element"
[object.function.return]
nullable_return_is_error = "Failed to create element for device"
[[object]]
name = "Gst.Object"
# For renaming the trait...
status = "generate"
trait_name = "GstObjectExt"
[[object.function]]
name = "set_name"
# Don't allow changing the name at random times
ignore = true
[[object.property]]
name = "name"
# There are accessor functions for this
ignore = true
[[object.function]]
name = "ref_sink"
# Takes a raw pointer
ignore = true
[[object.function]]
name = "get_name"
[object.function.return]
# Nullable state only occurs during instance init and finalize
# which cannot be observed from Rust
nullable = false
[[object.function]]
name = "set_parent"
[object.function.return]
bool_return_is_error = "Failed to set parent object"
[[object.function]]
name = "sync_values"
[[object.function.parameter]]
name = "timestamp"
mandatory = true
[object.function.return]
bool_return_is_error = "Failed to sync values"
[[object.function]]
name = "value"
[[object.function.parameter]]
name = "timestamp"
mandatory = true
[[object.function]]
name = "get_g_value_array"
ignore = true
[[object.function]]
name = "add_control_binding"
[object.function.return]
bool_return_is_error = "Failed to add control binding"
[[object]]
name = "Gst.ObjectFlags"
status = "generate"
[[object.member]]
name = "may_be_leaked"
version = "1.10"
[[object.member]]
name = "last"
ignore = true
[[object]]
name = "Gst.PadFlags"
status = "generate"
[[object.member]]
name = "last"
ignore = true
[[object]]
name = "Gst.PadLinkCheck"
status = "generate"
[[object.member]]
name = "nothing"
ignore = true
[[object]]
name = "Gst.PadProbeType"
status = "generate"
[[object.member]]
name = "invalid"
ignore = true
[[object]]
name = "Gst.Pad"
status = "generate"
manual_traits = ["PadExtManual"]
[[object.function]]
name = "link_maybe_ghosting"
[object.function.return]
bool_return_is_error = "Failed to link pads, possibly ghosting"
[[object.function]]
name = "link_maybe_ghosting_full"
[object.function.return]
bool_return_is_error = "Failed to link pads, possibly ghosting"
[[object.function]]
name = "unlink"
[object.function.return]
bool_return_is_error = "Failed to unlink pad"
[[object.function]]
name = "pause_task"
[object.function.return]
bool_return_is_error = "Failed to pause pad task"
[[object.function]]
name = "stop_task"
[object.function.return]
bool_return_is_error = "Failed to stop pad task"
[[object.function]]
name = "set_active"
[object.function.return]
bool_return_is_error = "Failed to activate pad"
[[object.function]]
name = "activate_mode"
[object.function.return]
bool_return_is_error = "Failed to activate mode pad"
[[object.function]]
name = "remove_probe"
# Don't use a ulong
manual = true
[[object.function]]
name = "chain"
# Move buffer
manual = true
[[object.function]]
name = "push"
# Move buffer
manual = true
[[object.function]]
name = "chain_list"
# Move buffer
manual = true
[[object.function]]
name = "push_list"
# Move buffer
manual = true
[[object.function]]
name = "pull_range"
# Buffer can be NULL
manual = true
[[object.function]]
name = "get_range"
# Buffer can be NULL
manual = true
[[object.function]]
name = "get_last_flow_return"
# Use Result<FlowSuccess, FlowError>
rename = "last_flow_result"
[[object.function]]
name = "query"
# Correct mutability
manual = true
[[object.function]]
name = "peer_query"
# Correct mutability
manual = true
[[object.function]]
name = "query_default"
# Correct mutability
manual = true
[[object.function]]
name = "proxy_query_caps"
# Correct mutability
manual = true
[[object.function]]
name = "proxy_query_accept_caps"
# Correct mutability
manual = true
[[object.function]]
name = "event_default"
# Pass by value
manual = true
[[object.function]]
name = "push_event"
# Pass by value
manual = true
[[object.function]]
name = "send_event"
# Pass by value
manual = true
[[object.function]]
name = "new"
# Also has builder()
manual = true
[[object.function]]
name = "new_from_template"
# Also has builder_with_template()
rename = "from_template"
manual = true
[[object.function]]
name = "new_from_static_template"
# Also has builder_with_static_template()
rename = "from_static_template"
manual = true
[[object.function]]
name = "query_duration"
# formatted value
manual = true
[[object.function]]
name = "query_position"
# formatted value
manual = true
[[object.function]]
name = "query_convert"
# formatted value
manual = true
[[object.function]]
name = "peer_query_duration"
# formatted value
manual = true
[[object.function]]
name = "peer_query_position"
# formatted value
manual = true
[[object.function]]
name = "peer_query_convert"
# formatted value
manual = true
[[object.function]]
name = "link_get_name"
# Wrong place
manual = true
[[object.function]]
pattern = "set_.*_function_full"
# More specific closure trait bounds possible
manual = true
[[object.function]]
name = "start_task"
# More specific closure trait bounds possible
manual = true
[[object.function]]
name = "sticky_events_foreach"
# Complex closure argument handling
manual = true
[[object.function]]
name = "get_sticky_event"
# More convenient API
manual = true
[[object.function]]
name = "add_probe"
# Complex closure argument handling
manual = true
[[object.property]]
name = "template"
# Has a proper getter
ignore = true
[[object]]
name = "Gst.PadTemplate"
status = "generate"
final_type = true
[[object.function]]
name = "new"
[object.function.return]
nullable_return_is_error = "Failed to create pad template"
[[object.function]]
name = "new_with_gtype"
[object.function.return]
nullable_return_is_error = "Failed to create pad template"
[[object.function]]
name = "new_from_static_pad_template_with_gtype"
# static pad template manual
manual = true
[[object]]
name = "Gst.GhostPad"
status = "generate"
[[object.function]]
name = "set_target"
[object.function.return]
bool_return_is_error = "Failed to set target"
[[object.function]]
name = "new"
rename = "with_target"
manual = true
[[object.function]]
name = "new_no_target"
rename = "new"
manual = true
[[object.function]]
name = "new_from_template"
rename = "from_template_with_target"
manual = true
[[object.function]]
name = "new_no_target_from_template"
rename = "from_template"
manual = true
[[object.function]]
name = "construct"
ignore = true
[[object.function]]
name = "activate_mode_default"
# wrong instance type
manual = true
[[object.function]]
name = "internal_activate_mode_default"
# wrong instance type
manual = true
[[object]]
name = "Gst.ProxyPad"
status = "generate"
manual_traits = ["ProxyPadExtManual"]
[[object.function]]
name = "chain_default"
# Buffer move
manual = true
[[object.function]]
name = "chain_list_default"
# Buffer move
manual = true
[[object.function]]
name = "getrange_default"
# Buffer move
manual = true
[[object]]
name = "Gst.Stream"
status = "generate"
final_type = true
[[object.function]]
name = "new"
# Work-around for 1.14 switch from transfer-floating to transfer-full
manual = true
[[object.property]]
name = "caps"
version = "1.10"
[[object.property]]
name = "stream-flags"
version = "1.10"
[[object.property]]
name = "stream-id"
version = "1.10"
[[object.property]]
name = "stream-type"
version = "1.10"
[[object.property]]
name = "tags"
version = "1.10"
[[object]]
name = "Gst.StreamCollection"
status = "generate"
final_type = true
[[object.function]]
name = "new"
# Work-around for 1.14 switch from transfer-floating to transfer-full
manual = true
[[object.function]]
name = "add_stream"
# Ignore return value which is always `true`
manual = true
[[object.property]]
name = "upstream-id"
version = "1.10"
generate = ["get"]
[[object]]
name = "Gst.Plugin"
status = "generate"
final_type = true
[[object.function]]
pattern = "register_static.*"
# Needs manual implementation
ignore = true
[[object.function]]
name = "list_free"
# useless and unsafe
ignore = true
[[object.function]]
name = "set_cache_data"
# pass by value
manual = true
[[object.function]]
name = "get_cache_data"
# structure ref
manual = true
[[object.function]]
name = "load"
[object.function.return]
nullable_return_is_error = "Failed to load plugin"
[[object.function]]
name = "load_by_name"
[object.function.return]
nullable_return_is_error = "Failed to load plugin"
[[object]]
name = "Gst.PluginFeature"
status = "generate"
manual_traits = ["PluginFeatureExtManual"]
[[object.function]]
pattern = "list_.*"
ignore = true
[[object.function]]
name = "rank_compare_func"
ignore = true
[[object.function]]
name = "get_rank"
manual = true
[[object.function]]
name = "set_rank"
manual = true
[[object.function]]
name = "load"
manual = true
[[object]]
name = "Gst.Registry"
status = "generate"
final_type = true
[[object.function]]
pattern = "fork_.*"
ignore = true
[[object.function]]
name = "add_feature"
[object.function.return]
bool_return_is_error = "Failed to add feature"
[[object.function]]
name = "add_plugin"
[object.function.return]
bool_return_is_error = "Failed to add plugin"
[[object]]
name = "Gst.BufferPool"
status = "generate"
manual_traits = ["BufferPoolExtManual"]
[[object.function]]
pattern = "config_.*"
# A different type
ignore = true
[[object.function]]
name = "get_config"
# A different type
manual = true
[[object.function]]
name = "set_config"
# Takes ownership
manual = true
[[object.function]]
name = "acquire_buffer"
# Params and return value
manual = true
[[object.function]]
name = "release_buffer"
# Takes ownership
manual = true
[[object.function]]
name = "new"
# Work-around for 1.14 switch from transfer-floating to transfer-full
manual = true
[[object.function]]
name = "set_active"
[object.function.return]
bool_return_is_error = "Failed to activate buffer pool"
[[object]]
name = "Gst.Preset"
status = "generate"
[[object.function]]
name = "set_app_dir"
[object.function.return]
bool_return_is_error = "Failed to set app preset directory"
[[object.function]]
name = "delete_preset"
[object.function.return]
bool_return_is_error = "Failed to delete preset"
[[object.function]]
name = "load_preset"
[object.function.return]
bool_return_is_error = "Failed to load preset"
[[object.function]]
name = "save_preset"
[object.function.return]
bool_return_is_error = "Failed to save preset"
[[object.function]]
name = "rename_preset"
[object.function.return]
bool_return_is_error = "Failed to rename preset"
[[object.function]]
name = "set_meta"
[object.function.return]
bool_return_is_error = "Failed to set preset meta"
[[object]]
name = "Gst.*"
status = "generate"
# We'll opt-in for constants at a later time
[[object.constant]]
pattern = ".+"
ignore = true
[[object.function]]
name = "util_dump_mem"
ignore = true
[[object.function]]
name = "util_dump_buffer"
# We have our Debug impl on buffers
ignore = true
[[object.function]]
name = "protection_select_system"
# unsupported array type
ignore = true
[[object.function]]
name = "calculate_linear_regression"
ignore = true
[[object.function]]
pattern = "value_.*"
ignore = true
[[object.function]]
pattern = ".*_get_type"
ignore = true
[[object.function]]
pattern = "tag_.*"
ignore = true
[[object.function]]
pattern = "segtrap_.*"
ignore = true
[[object.function]]
pattern = "util_[g]?double_.*"
ignore = true
[[object.function]]
pattern = "util_fraction_.*"
ignore = true
[[object.function]]
pattern = "util_greatest_.*"
ignore = true
[[object.function]]
pattern = "util_[g]?uint64.*"
ignore = true
[[object.function]]
name = "deinit"
ignore = true
[[object.function]]
name = "util_set_object_arg"
ignore = true
[[object.function]]
name = "util_seqnum_compare"
ignore = true
[[object.function]]
name = "dynamic_type_register"
ignore = true
[[object.function]]
name = "flow_get_name"
ignore = true
[[object.function]]
name = "filename_to_uri"
ignore = true
[[object.function]]
name = "is_initialized"
ignore = true
[[object.function]]
name = "debug_add_log_function"
ignore = true
[[object.function]]
name = "debug_remove_log_function"
ignore = true
[[object.function]]
name = "debug_remove_log_function_by_data"
ignore = true
[[object.function]]
name = "debug_construct_term_color"
ignore = true
[[object.function]]
name = "debug_construct_win_color"
ignore = true
[[object.function]]
name = "debug_get_all_categories"
ignore = true
[[object.function]]
name = "debug_get_color_mode"
ignore = true
[[object.function]]
pattern = "debug_log.*"
ignore = true
[[object.function]]
name = "debug_set_color_mode"
ignore = true
[[object.function]]
name = "debug_set_color_mode_from_string"
ignore = true
[[object.function]]
name = "error_get_message"
ignore = true
[[object.function]]
name = "flow_to_quark"
ignore = true
[[object.function]]
name = "formats_contains"
ignore = true
[[object.function]]
pattern = "info_.*"
ignore = true
[[object.function]]
pattern = "print.*"
ignore = true
[[object.function]]
pattern = "init.*"
ignore = true
[[object.function]]
pattern = "param_spec_.*"
ignore = true
[[object.function]]
name = "is_caps_features"
ignore = true
[[object.function]]
name = "make_element_message_details"
ignore = true
[[object.function]]
name = "util_array_binary_search"
ignore = true
[[object.function]]
name = "util_get_object_array"
ignore = true
[[object.function]]
name = "util_set_object_array"
ignore = true
[[object.function]]
name = "util_set_value_from_string"
ignore = true
[[object.function]]
pattern = "parse.*full"
# wrong mutable for context parameter
ignore = true
[[object.function]]
name = "update_registry"
[object.function.return]
bool_return_is_error = "Failed to update the registry"
[[object.function]]
name = "util_group_id_next"
# newtype wrapper
ignore = true
[[object.function]]
name = "util_seqnum_next"
# newtype wrapper
ignore = true
[[object.function]]
name = "protection_filter_systems_by_available_decryptors"
# wrong array annotations
ignore = true
[[object.function]]
pattern = "clear_.*"
# C memory management
ignore = true
[[object.function]]
name = "debug_get_stack_trace"
# can be called before gst_init()
assertion = "skip"
[object.function.return]
nullable_return_is_error = "Failed to get stack trace"
[[object.function]]
name = "get_main_executable_path"
[object.function.return]
nullable_return_is_error = "Failed to get main executable path"
[[object.function]]
name = "debug_set_default_threshold"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "debug_get_default_threshold"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "debug_set_threshold_for_name"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "debug_set_threshold_from_string"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "debug_unset_threshold_for_name"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "debug_print_stack_trace"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "debug_is_active"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "debug_is_colored"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "debug_set_active"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "debug_set_colored"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "debug_add_ring_buffer_logger"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "debug_remove_ring_buffer_logger"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "debug_ring_buffer_logger_get_logs"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "util_get_timestamp"
# can be called before gst_init()
assertion = "skip"
[object.function.return]
# always returns a value
mandatory = true
[[object.function]]
name = "version"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "version_string"
# can be called before gst_init()
assertion = "skip"
[[object.function]]
name = "type_is_plugin_api"
# confusing return type
ignore = true
[[object.function]]
name = "tracing_register_hook"
# implemented as part of Tracer subclassing
manual = true
[[object]]
name = "Gst.State"
status = "generate"
[[object.derive]]
name = "serde::Serialize, serde::Deserialize"
cfg_condition = "feature = \"ser_de\""
[[object.derive]]
name = "Debug, PartialEq, Eq, PartialOrd, Ord, Hash"
[[object]]
name = "Gst.StateChange"
status = "generate"
[[object.function]]
name = "get_name"
# Manual function for < v1_14:
manual = true
# Always generate the trait, without version constraint:
version = "1.8"
[[object]]
name = "Gst.StateChangeReturn"
status = "generate"
must_use = true
[object.conversion_type]
variant = "Result"
ok_type = "StateChangeSuccess"
err_type = "StateChangeError"
[[object]]
name = "Gst.FlowReturn"
status = "generate"
must_use = true
[object.conversion_type]
variant = "Result"
ok_type = "FlowSuccess"
err_type = "FlowError"
[[object]]
name = "Gst.PadLinkReturn"
status = "generate"
must_use = true
[object.conversion_type]
variant = "Result"
ok_type = "PadLinkSuccess"
err_type = "PadLinkError"
[[object]]
name = "Gst.ClockReturn"
status = "generate"
must_use = true
[object.conversion_type]
variant = "Result"
ok_type = "ClockSuccess"
err_type = "ClockError"
[[object]]
name = "Gst.DateTime"
status = "generate"
[[object.derive]]
# Don't auto-implement traits
name = ""
[[object.function]]
name = "new"
# Needs manual checking of invariants
manual = true
[[object.function]]
name = "new_local_time"
# Needs manual checking of invariants
manual = true
[[object.function]]
name = "new_y"
# Needs manual checking of invariants
manual = true
[object.function.return]
nullable = true
[[object.function]]
name = "new_ym"
# Needs manual checking of invariants
manual = true
[object.function.return]
nullable = true
[[object.function]]
name = "new_ymd"
# Needs manual checking of invariants
manual = true
[object.function.return]
nullable = true
[[object.function]]
name = "get_month"
# Needs manual checking of invariants
manual = true
[[object.function]]
name = "get_day"
# Needs manual checking of invariants
manual = true
[[object.function]]
name = "get_hour"
# Needs manual checking of invariants
manual = true
[[object.function]]
name = "get_minute"
# Needs manual checking of invariants
manual = true
[[object.function]]
name = "get_second"
# Needs manual checking of invariants
manual = true
[[object.function]]
name = "get_microsecond"
# Needs manual checking of invariants
manual = true
[[object.function]]
name = "get_time_zone_offset"
# Needs manual checking of invariants
manual = true
[[object.function]]
name = "new_from_g_date_time"
# Function only ever returns NULL if the argument is NULL
[[object.function.parameter]]
name = "dt"
nullable = false
[object.function.return]
nullable = false
[[object.function]]
name = "to_g_date_time"
[object.function.return]
nullable_return_is_error = "Can't create glib::DateTime from DateTime"
[[object.function]]
name = "new_from_iso8601_string"
[object.function.return]
nullable_return_is_error = "Failed to create DateTime from ISO-8601 string"
[[object.function]]
name = "to_iso8601_string"
[object.function.return]
nullable_return_is_error = "Failed to create ISO-8601 string from DateTime"
[[object.function]]
name = "new_from_unix_epoch_local_time"
[object.function.return]
nullable_return_is_error = "Can't create DateTime from UNIX epoch"
[[object.function]]
name = "new_from_unix_epoch_local_time_usecs"
[object.function.return]
nullable_return_is_error = "Can't create DateTime from UNIX epoch"
[[object.function]]
name = "new_from_unix_epoch_utc"
[object.function.return]
nullable_return_is_error = "Can't create DateTime from UNIX epoch"
[[object.function]]
name = "new_from_unix_epoch_utc_usecs"
[object.function.return]
nullable_return_is_error = "Can't create DateTime from UNIX epoch"
[[object]]
name = "Gst.ControlSource"
status = "generate"
manual_traits = ["ControlSourceExtManual"]
generate_builder = true
[[object.function]]
name = "control_source_get_value"
rename = "value"
[[object.function.parameter]]
name = "timestamp"
mandatory = true
[[object.function]]
name = "control_source_get_value_array"
manual = true
[[object]]
name = "Gst.ControlBinding"
status = "generate"
manual_traits = ["ControlBindingExtManual"]
generate_builder = true
[[object.function]]
name = "get_g_value_array"
manual = true
[[object.function]]
name = "get_value"
[[object.function.parameter]]
name = "timestamp"
mandatory = true
[[object.function]]
name = "sync_values"
[[object.function.parameter]]
name = "timestamp"
mandatory = true
[[object]]
name = "Gst.Tracer"
status = "generate"
[[object.function]]
name = "register"
# Manual implementation as inherent to the type.
ignore = true
[[object]]
name = "Gst.TracerFactory"
status = "generate"
[[object]]
name = "Gst.URIType"
status = "generate"
[[object.derive]]
name = "serde::Serialize, serde::Deserialize"
cfg_condition = "feature = \"ser_de\""
[[object.derive]]
name = "Debug, PartialEq, Eq, PartialOrd, Ord, Hash"