gstreamer-rs/gstreamer-gl/Gir.toml
Marijn Suijten 01f0988a48 gl/gir: Configure generation for GLFilter with miniobject quirks
GLMemory input/output objects cannot be passed as mutable:
to_glib_none_mut checks if the miniobject is writable, even though the
underlying implementation should really only care about whether the
_data_ owned by this miniobject is.

(This temporary GLMemory object references its parent buffer object
 that is also referenced externally, resulting in two references making
 the object itself immutable)

Furthermore take care of automatically calling `add_rgba_pad_templates`
in `class_init` if `ADD_RGBA_PAD_TEMPLATES` is set to `true` (the
default).
2021-04-17 07:54:40 +00:00

535 lines
11 KiB
TOML

[options]
library = "GstGL"
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
external_libraries = [
"GLib",
"GObject",
"Gst",
"GstBase",
"GstVideo",
]
generate = [
# Enums
"GstGL.GLFormat",
"GstGL.GLQueryType",
"GstGL.GLSLVersion",
"GstGL.GLTextureTarget",
"GstGL.GLStereoDownmix",
"GstGL.GLUploadReturn",
# Enums Errors
#"GstGL.GLBaseMemoryError",
"GstGL.GLContextError",
"GstGL.GLSLError",
"GstGL.GLWindowError",
# Records
#"GstGL.GLRenderbufferAllocationParams",
# Objects
#"GstGL.GLBufferPool",
"GstGL.GLBaseMemoryAllocator",
"GstGL.GLMemoryAllocator",
#"GstGL.GLMemoryPBOAllocator",
#"GstGL.GLRenderbufferAllocator",
]
manual = [
"GLib.Error",
"GLib.Thread",
"GObject.Object",
"Gst.AllocationParams",
"Gst.Allocator",
"Gst.BufferPool",
"Gst.Element",
"Gst.FlowReturn",
"Gst.Memory",
"Gst.Object",
"Gst.PadDirection",
"GstBase.BaseTransform",
"GstBase.PushSrc",
"GstGL.GLBaseMemory",
"GstGL.GLMemory",
"GstVideo.VideoAlignment",
"GstVideo.VideoInfo",
"GstVideo.VideoMultiviewFlags",
"GstVideo.VideoMultiviewMode",
]
[[object]]
name = "Gst.Structure"
status = "manual"
ref_mode = "ref-mut"
[[object]]
name = "Gst.Buffer"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.Caps"
status = "manual"
ref_mode = "ref"
[[object]]
name = "Gst.Query"
status = "manual"
ref_mode = "ref"
[[object]]
name = "GstGL.GLBaseFilter"
status = "generate"
version = "1.14"
[[object]]
name = "GstGL.GLBuffer"
status = "manual"
ref_mode = "ref"
[[object]]
name = "GstGL.GLQuery"
status = "manual"
ref_mode = "ref"
[[object]]
name = "GstGL.GLContext"
status = "generate"
manual_traits = ["GLContextExtManual"]
[[object.function]]
name = "new_wrapped"
# input handle
manual = true
[[object.function]]
name = "get_gl_context"
# return handle
manual = true
[[object.function]]
name = "get_current_gl_context"
# return handle
manual = true
[[object.function]]
name = "get_proc_address"
manual = true
[[object.function]]
name = "default_get_proc_address"
ignore = true
[[object.function]]
name = "get_proc_address_with_platform"
manual = true
[[object.function]]
name = "thread_add"
# unimplemented GLContextThreadFunc
ignore = true
[[object.function]]
name = "get_thread"
# glib::Thread not found in `glib`
ignore = true
[[object.function]]
name = "get_gl_context_for_thread"
# glib::Thread not found in `glib`
ignore = true
[[object.function]]
name = "error_quark"
# bad error domian definition in gir
ignore = true
[[object.function]]
name = "activate"
[object.function.return]
bool_return_is_error = "Failed to activate OpenGL context"
[[object.function]]
name = "get_display"
[object.function.return]
nullable = false
[[object.function]]
name = "set_window"
[object.function.return]
bool_return_is_error = "Failed to set window"
[[object]]
name = "GstGL.GLDisplay"
status = "generate"
[[object.function]]
name = "find_window"
# unimplemented pointer
ignore = true
[[object.function]]
name = "get_handle"
# return handle
ignore = true
[[object.function]]
name = "get_gl_context_for_thread"
# glib::Thread not found in `glib`
ignore = true
[[object.function]]
name = "add_context"
[object.function.return]
bool_return_is_error = "Failed to add OpenGL context"
[[object.function]]
name = "remove_window"
[object.function.return]
bool_return_is_error = "Failed to remove window"
[[object.function]]
name = "create_window"
[object.function.return]
nullable_return_is_error = "Failed to create window"
[[object]]
name = "GstGL.GLWindow"
status = "generate"
[[object.function]]
name = "get_window_handle"
# return native handle
ignore = true
[[object.function]]
name = "send_message"
# callback
ignore = true
[[object.function]]
name = "send_message_async"
# callback
ignore = true
[[object.function]]
name = "set_close_callback"
# callback
ignore = true
[[object.function]]
name = "set_draw_callback"
# callback
ignore = true
[[object.function]]
name = "set_render_rectangle"
[object.function.return]
bool_return_is_error = "Failed to set the specified region"
[[object.function]]
name = "set_resize_callback"
# callback
ignore = true
[[object.function]]
name = "set_window_handle"
# handle
ignore = true
[[object.function]]
name = "get_display"
# handle
ignore = true
[[object.function]]
name = "error_quark"
# bad error domian definition in gir
ignore = true
[[object]]
name = "GstGL.GLColorConvert"
status = "generate"
final_type = true
[[object.function]]
name = "set_caps"
[object.function.return]
bool_return_is_error = "Failed to set caps"
[[object.function]]
name = "decide_allocation"
# correct mutability
ignore = true
[[object.function]]
name = "fixate_caps"
# correct reference ownership
ignore = true
[[object.function]]
name = "perform"
# transfer gst::Buffer not reference
ignore = true
[[object]]
name = "GstGL.GLOverlayCompositor"
status = "generate"
final_type = true
[[object.function]]
name = "upload_overlays"
# correct mutability
ignore = true
[[object.property]]
name = "yinvert"
version = "1.16"
[[object]]
name = "GstGL.GLSLStage"
status = "generate"
final_type = true
[[object.function]]
name = "set_strings"
[object.function.return]
bool_return_is_error = "Failed to attach stage to set strings"
[[object]]
name = "GstGL.GLShader"
status = "generate"
final_type = true
[[object.function]]
name = "attach"
[object.function.return]
bool_return_is_error = "Failed to attach stage to shader"
[[object.function]]
name = "attach_unlocked"
[object.function.return]
bool_return_is_error = "Failed to attach stage to shader"
[[object.function]]
name = "set_uniform_matrix_2fv"
# array with size
ignore = true
[[object.function]]
name = "set_uniform_matrix_2x3fv"
# array with size
ignore = true
[[object.function]]
name = "set_uniform_matrix_2x4fv"
# array with size
ignore = true
[[object.function]]
name = "set_uniform_matrix_3fv"
# array with size
ignore = true
[[object.function]]
name = "set_uniform_matrix_3x2fv"
# array with size
ignore = true
[[object.function]]
name = "set_uniform_matrix_3x4fv"
# array with size
ignore = true
[[object.function]]
name = "set_uniform_matrix_4fv"
# array with size
ignore = true
[[object.function]]
name = "set_uniform_matrix_4x2fv"
# array with size
ignore = true
[[object.function]]
name = "set_uniform_matrix_4x3fv"
# array with size
ignore = true
[[object]]
name = "GstGL.GLUpload"
status = "generate"
final_type = true
[[object.function]]
name = "set_caps"
[object.function.return]
bool_return_is_error = "Failed to set caps"
[[object.function]]
name = "perform_with_buffer"
# Result<Buffer, GLUploadReturn>
ignore = true
[[object.function]]
name = "propose_allocation"
# fix mutability
ignore = true
[[object.function]]
name = "get_input_template_caps"
[object.function.return]
nullable = false
[[object]]
name = "GstGL.GLViewConvert"
status = "generate"
final_type = true
[[object.function]]
name = "set_caps"
[object.function.return]
bool_return_is_error = "Failed to set caps"
[[object.function]]
name = "fixate_caps"
# correct reference ownership
ignore = true
[[object.function]]
name = "get_output"
# Result<Buffer, FlowReturn>
ignore = true
[[object.function]]
name = "tranform_caps"
[object.function.return]
nullable = false
[[object.function]]
name = "submit_input_buffer"
# Buffer ownership transfer
ignore = true
[[object]]
name = "GstGL.GLDisplayType"
status = "generate"
[[object.member]]
name = "none"
ignore = true
[[object.member]]
name = "any"
ignore = true
[[object.member]]
name = "egl_device"
version = "1.18"
[[object]]
name = "GstGL.GLAPI"
status = "generate"
[[object.member]]
name = "none"
ignore = true
[[object.member]]
name = "any"
ignore = true
[[object.function]]
name = "to_string"
[object.function.return]
nullable = false
[[object]]
name = "GstGL.GLPlatform"
status = "generate"
[[object.member]]
name = "none"
ignore = true
[[object.member]]
name = "any"
ignore = true
[[object.function]]
name = "to_string"
[object.function.return]
nullable = false
[[object]]
name = "GstGL.GLSLProfile"
status = "generate"
[[object.member]]
name = "none"
ignore = true
[[object.member]]
name = "any"
ignore = true
[[object]]
name = "GstGL.GLAllocationParams"
status = "generate"
[[object.function]]
name = "free_data"
# Function should only be called by subclasses from
# an overridden `free` vfunc.
ignore = true
[[object.function]]
name = "copy_data"
[[object.function.parameter]]
name = "src"
const = true
[[object]]
name = "GstGL.GLVideoAllocationParams"
status = "generate"
[[object.function]]
name = "free_data"
# Function should only be called by subclasses from
# an overridden `free` vfunc.
ignore = true
[[object.function]]
name = "copy_data"
[[object.function.parameter]]
name = "src_vid"
const = true
[[object]]
name = "GstGL.GLFramebuffer"
status = "generate"
[[object.function]]
name = "attach"
# attachment_point parameter unchecked
unsafe = true
[[object]]
name = "GstGL.GLFilter"
status = "generate"
[[object.function]]
name = "add_rgba_pad_templates"
# Automatically called if
# GLFilterImpl::ADD_RGBA_PAD_TEMPLATES is true
ignore = true
[[object.function]]
pattern = "render_to_target\\w*"
[[object.function.parameter]]
pattern = "input|output"
const = true
[[object.function]]
name = "render_to_target"
[object.function.return]
bool_return_is_error = "`func` returned `false`"
[[object.function]]
name = "filter_texture"
[object.function.return]
bool_return_is_error = "Failed to transform texture"