[options] girs_dir = "gir-files" library = "Gst" version = "1.0" min_cfg_version = "1.8" target_path = "gstreamer" work_mode = "normal" concurrency = "send+sync" generate_safety_asserts = true single_version_file = true external_libraries = [ "GLib", "GObject", ] generate = [ "Gst.ClockTimeDiff", "Gst.Pipeline", "Gst.State", "Gst.StateChange", "Gst.SeekFlags", "Gst.SeekType", "Gst.PadDirection", "Gst.PadPresence", "Gst.URIHandler", "Gst.URIType", "Gst.ElementFactoryListType", "Gst.Format", "Gst.BufferingMode", "Gst.CoreError", "Gst.ResourceError", "Gst.LibraryError", "Gst.StreamError", "Gst.PluginError", "Gst.ParseError", "Gst.URIError", "Gst.StructureChangeType", "Gst.StreamStatusType", "Gst.StreamType", "Gst.StreamFlags", "Gst.ProgressType", "Gst.BusSyncReply", "Gst.TagMergeMode", "Gst.PadProbeType", "Gst.PadProbeReturn", "Gst.CapsIntersectMode", "Gst.BufferFlags", "Gst.BufferCopyFlags", "Gst.SegmentFlags", "Gst.PadMode", "Gst.SchedulingFlags", "Gst.ChildProxy", "Gst.TagSetter", "Gst.QOSType", "Gst.EventType", "Gst.TocScope", "Gst.TocEntryType", "Gst.TocLoopType", "Gst.TocSetter", "Gst.ClockType", "Gst.ElementFlags", "Gst.Rank", "Gst.PadLinkCheck", "Gst.DebugLevel", "Gst.DebugColorFlags", "Gst.StackTraceFlags", "Gst.DebugGraphDetails", "Gst.ParseFlags", "Gst.TaskState", "Gst.PluginDependencyFlags", "Gst.DateTime", "Gst.TypeFindProbability", "Gst.BufferPoolAcquireFlags", "Gst.PromiseResult", ] manual = [ "GLib.Error", "GLib.Source", "GLib.DateTime", "GObject.Object", "Gst.Segment", "Gst.StaticCaps", "Gst.StaticPadTemplate", ] [[object]] name = "Gst.ClockTime" status = "manual" conversion_type = "scalar" [[object]] name = "Gst.Bin" status = "generate" [[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.Bus" status = "generate" trait = false [[object.function]] name = "remove_watch" # Needs manual bindings and GSource support in glib-rs ignore = true [[object.function]] name = "add_signal_watch_full" # Priority ignore = true [[object.function]] name = "timed_pop_filtered" # Uses enum as flags ignore = true [[object.function]] name = "pop_filtered" # Uses enum as flags ignore = true [[object.function]] name = "poll" # Uses enum as flags ignore = true [[object.function]] name = "create_watch" # More convenient manual implementation ignore = true [[object.signal]] name = "message" concurrency = "send" [[object.function]] name = "post" [object.function.return] bool_return_is_error = "Failed to post message" [[object]] name = "Gst.Structure" status = "manual" ref_mode = "ref-mut" [[object]] name = "Gst.ParseContext" 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.Message" status = "manual" ref_mode = "ref" [[object]] name = "Gst.Event" status = "manual" ref_mode = "ref" [[object]] name = "Gst.TagList" status = "manual" ref_mode = "ref" [[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.Promise" status = "manual" ref_mode = "ref" [[object]] name = "Gst.Clock" status = "generate" [[object.function]] name = "set_master" [object.function.return] bool_return_is_error = "Failed to set master clock" [[object.function]] name = "wait_for_sync" [object.function.return] bool_return_is_error = "Timed out waiting for sync" [[object.function]] name = "adjust_with_calibration" # Useless clock parameter ignore = true [[object.function]] name = "unadjust_with_calibration" # Useless clock parameter ignore = true [[object]] name = "Gst.SystemClock" status = "generate" [[object.function]] name = "obtain" [object.function.return] nullable = false [[object]] name = "Gst.Element" status = "generate" [[object.function]] name = "make_from_uri" [object.function.return] # It is already a Result nullable = false [[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.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.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 = "post_message" [object.function.return] bool_return_is_error = "Failed to post message" [[object.function]] name = "seek" [object.function.return] bool_return_is_error = "Failed to seek" [[object.function]] name = "seek_simple" [object.function.return] bool_return_is_error = "Failed to seek" [[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 ignore = true [[object.function]] name = "send_event" # Pass by value ignore = true [[object.function]] name = "get_context_unlocked" # Unsafe ignore = true [[object.function]] name = "add_property_deep_notify_watch" # ulong ignore = true [[object.function]] name = "add_property_notify_watch" # ulong ignore = true [[object.function]] name = "remove_property_notify_watch" # ulong ignore = true [[object.function]] name = "query_duration" # formatted value ignore = true [[object.function]] name = "query_position" # formatted value ignore = true [[object.function]] name = "query_convert" # formatted value ignore = true [[object.function]] name = "seek" # formatted value ignore = true [[object.function]] name = "seek_simple" # formatted value ignore = 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 ignore = true [[object.function]] name = "get_pad_template" # better manual function ignore = true [[object.function]] name = "get_pad_template_list" # better manual function ignore = true [[object]] name = "Gst.ElementFactory" status = "generate" trait = false [[object]] name = "Gst.TypeFindFactory" status = "generate" trait = false [[object]] name = "Gst.DeviceProviderFactory" status = "generate" trait = false [[object]] name = "Gst.DeviceProvider" status = "generate" [[object.function]] name = "get_bus" [object.function.return] nullable = false [[object.function]] name = "start" [object.function.return] bool_return_is_error = "Failed to start" [[object.function]] name = "get_metadata" # better manual function ignore = true [[object]] name = "Gst.DeviceMonitor" status = "generate" [[object.function]] name = "new" # Work-around for 1.14 switch from transfer-floating to transfer-full ignore = true [[object.function]] name = "get_bus" [object.function.return] nullable = false [[object.function]] name = "start" [object.function.return] bool_return_is_error = "Failed to start" [[object]] name = "Gst.Device" status = "generate" [[object.function]] name = "get_display_name" [object.function.return] nullable = false [[object.function]] name = "get_device_class" [object.function.return] nullable = false [[object]] name = "Gst.Object" # For renaming the trait... status = "generate" trait_name = "GstObjectExt" [[object.function]] name = "set_name" [object.function.return] bool_return_is_error = "Failed to set object name" [[object.function]] name = "get_name" [object.function.return] nullable = false [[object.function]] name = "set_name" [[object.function.parameter]] name = "name" nullable = false [[object.function]] name = "get_path_string" [object.function.return] 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.return] bool_return_is_error = "Failed to sync values" [[object]] name = "Gst.Pad" status = "generate" [[object.function]] name = "link_maybe_ghosting" [object.function.return] bool_return_is_error = "Failed to link pad, 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 ignore = true [[object.function]] name = "chain" # Move buffer ignore = true [[object.function]] name = "push" # Move buffer ignore = true [[object.function]] name = "chain_list" # Move buffer ignore = true [[object.function]] name = "push_list" # Move buffer ignore = true [[object.function]] name = "pull_range" # Buffer can be NULL ignore = true [[object.function]] name = "get_range" # Buffer can be NULL ignore = true [[object.function]] name = "query" # Correct mutability ignore = true [[object.function]] name = "peer_query" # Correct mutability ignore = true [[object.function]] name = "query_default" # Correct mutability ignore = true [[object.function]] name = "proxy_query_caps" # Correct mutability ignore = true [[object.function]] name = "proxy_query_accept_caps" # Correct mutability ignore = true [[object.function]] name = "event_default" # Pass by value ignore = true [[object.function]] name = "push_event" # Pass by value ignore = true [[object.function]] name = "send_event" # Pass by value ignore = true [[object.function]] name = "new_from_static_template" # Correct mutability ignore = true [[object.function]] name = "query_duration" # formatted value ignore = true [[object.function]] name = "query_position" # formatted value ignore = true [[object.function]] name = "query_convert" # formatted value ignore = true [[object.function]] name = "peer_query_duration" # formatted value ignore = true [[object.function]] name = "peer_query_position" # formatted value ignore = true [[object.function]] name = "peer_query_convert" # formatted value ignore = true [[object.function]] name = "link_get_name" # Wrong place ignore = true [[object]] name = "Gst.PadTemplate" status = "generate" trait = false [[object.function]] name = "new_from_static_pad_template_with_gtype" # static pad template manual ignore = 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" ignore = true [[object.function]] name = "new_from_template" ignore = true [[object.function]] name = "construct" ignore = true [[object.function]] name = "activate_mode_default" # wrong instance type ignore = true [[object.function]] name = "internal_activate_mode_default" # wrong instance type ignore = true [[object]] name = "Gst.ProxyPad" status = "generate" [[object.function]] name = "chain_default" # Buffer move ignore = true [[object.function]] name = "chain_list_default" # Buffer move ignore = true [[object.function]] name = "getrange_default" # Buffer move ignore = true [[object]] name = "Gst.Stream" status = "generate" trait = false [[object.function]] name = "new" # Work-around for 1.14 switch from transfer-floating to transfer-full ignore = true [[object]] name = "Gst.StreamCollection" status = "generate" trait = false [[object.function]] name = "new" # Work-around for 1.14 switch from transfer-floating to transfer-full ignore = true [[object]] name = "Gst.Plugin" status = "generate" trait = false [[object.function]] name = "list_free" # useless and unsafe ignore = true [[object.function]] name = "set_cache_data" # pass by value ignore = true [[object.function]] name = "get_cache_data" # structure ref ignore = true [[object.function]] name = "get_description" [object.function.return] nullable = false [[object.function]] name = "get_name" [object.function.return] nullable = false [[object.function]] name = "get_license" [object.function.return] nullable = false [[object.function]] name = "get_origin" [object.function.return] nullable = false [[object.function]] name = "get_package" [object.function.return] nullable = false [[object.function]] name = "get_source" [object.function.return] nullable = false [[object.function]] name = "get_version" [object.function.return] nullable = false [[object]] name = "Gst.PluginFeature" status = "generate" [[object.function]] pattern = "list_.*" ignore = true [[object.function]] name = "rank_compare_func" ignore = true [[object]] name = "Gst.Registry" status = "generate" trait = false [[object.function]] pattern = "fork_.*" ignore = true [[object.function]] name = "get" [object.function.return] nullable = false [[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" [[object.function]] pattern = "config_.*" # A different type ignore = true [[object.function]] name = "get_config" # A different type ignore = true [[object.function]] name = "set_config" # Takes ownership ignore = true [[object.function]] name = "acquire_buffer" # Params and return value ignore = true [[object.function]] name = "release_buffer" # Takes ownership ignore = true [[object.function]] name = "new" # Work-around for 1.14 switch from transfer-floating to transfer-full ignore = 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 = "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]] name = "debug_bin_to_dot_data" [object.function.return] nullable = false [[object.function]] name = "version_string" [object.function.return] nullable = false [[object.function]] name = "parse_bin_from_description" [object.function.return] nullable = false [[object.function]] name = "parse_launch" [object.function.return] # Already a Result nullable = false [[object.function]] name = "parse_launchv" [object.function.return] # Already a Result nullable = false [[object]] name = "Gst.StateChangeReturn" status = "generate" must_use = true [[object]] name = "Gst.FlowReturn" status = "generate" must_use = true [[object]] name = "Gst.PadLinkReturn" status = "generate" must_use = true [[object]] name = "Gst.ClockReturn" status = "generate" must_use = true