mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-10-31 22:59:14 +00:00
5741b6a52e
Having access to the raw handle is useful when sharing the display and context with an existing application. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1336>
657 lines
14 KiB
TOML
657 lines
14 KiB
TOML
[options]
|
|
girs_directories = ["../gir-files", "../gst-gir-files"]
|
|
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
|
|
trust_return_value_nullability = true
|
|
|
|
external_libraries = [
|
|
"GLib",
|
|
"GObject",
|
|
"Gst",
|
|
"GstBase",
|
|
"GstVideo",
|
|
]
|
|
|
|
generate = [
|
|
"GstGL.GLBaseFilter",
|
|
"GstGL.GLBaseMemoryAllocator",
|
|
"GstGL.GLBaseSrc",
|
|
"GstGL.GLBufferPool",
|
|
"GstGL.GLConfigCaveat",
|
|
"GstGL.GLConfigSurfaceType",
|
|
"GstGL.GLContextError",
|
|
"GstGL.GLFormat",
|
|
"GstGL.GLMemoryAllocator",
|
|
"GstGL.GLQueryType",
|
|
"GstGL.GLSLError",
|
|
"GstGL.GLSLVersion",
|
|
"GstGL.GLStereoDownmix",
|
|
"GstGL.GLTextureTarget",
|
|
"GstGL.GLUploadReturn",
|
|
"GstGL.GLWindowError",
|
|
]
|
|
|
|
manual = [
|
|
"GLib.Error",
|
|
"GLib.Thread",
|
|
"GObject.Object",
|
|
"GObject.Value",
|
|
"Gst.AllocationParams",
|
|
"Gst.Allocator",
|
|
"Gst.BufferPool",
|
|
"Gst.Context",
|
|
"Gst.Element",
|
|
"Gst.FlowReturn",
|
|
"Gst.Memory",
|
|
"Gst.Object",
|
|
"Gst.PadDirection",
|
|
"GstBase.BaseSrc",
|
|
"GstBase.BaseTransform",
|
|
"GstBase.PushSrc",
|
|
"GstGL.GLBaseMemory",
|
|
"GstGL.GLMemory",
|
|
"GstVideo.VideoAlignment",
|
|
"GstVideo.VideoInfo",
|
|
"GstVideo.VideoMultiviewFlags",
|
|
"GstVideo.VideoMultiviewMode",
|
|
"GstVideo.VideoOverlay",
|
|
]
|
|
|
|
[[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 = "Gst.Structure"
|
|
status = "manual"
|
|
ref_mode = "ref"
|
|
|
|
[[object]]
|
|
name = "GstGL.*"
|
|
status = "generate"
|
|
[[object.function]]
|
|
name = "buffer_add_gl_sync_meta"
|
|
manual = true
|
|
[[object.function]]
|
|
name = "buffer_add_gl_sync_meta_full"
|
|
manual = true
|
|
[[object.function]]
|
|
name = "context_get_gl_display"
|
|
manual = true
|
|
[[object.function]]
|
|
name = "context_set_gl_display"
|
|
manual = true
|
|
[[object.function]]
|
|
name = "gl_sync_meta_api_get_type"
|
|
manual = true
|
|
[[object.function]]
|
|
name = "gl_handle_context_query"
|
|
manual = true
|
|
[[object.function]]
|
|
name = "gl_handle_set_context"
|
|
manual = true
|
|
|
|
# gir has issues with the inout annotation
|
|
[[object.function]]
|
|
name = "gl_ensure_element_data"
|
|
ignore = true
|
|
|
|
# These need manual bindings
|
|
[[object.function]]
|
|
name = "buffer_pool_config_get_gl_allocation_params"
|
|
ignore = true
|
|
[[object.function]]
|
|
name = "buffer_pool_config_set_gl_allocation_params"
|
|
ignore = true
|
|
[[object.function]]
|
|
name = "buffer_pool_config_get_gl_min_free_queue_size"
|
|
ignore = true
|
|
[[object.function]]
|
|
name = "buffer_pool_config_set_gl_min_free_queue_size"
|
|
ignore = true
|
|
|
|
# Needs manual binding to be an extension on gst_video::VideoAffineTransformationMeta
|
|
[[object.function]]
|
|
name = "gl_get_affine_transformation_meta_as_ndc"
|
|
ignore = true
|
|
[[object.function]]
|
|
name = "gl_set_affine_transformation_meta_from_ndc"
|
|
ignore = true
|
|
|
|
# Needs manual binding to be an extension on gst_video::VideoInfo
|
|
[[object.function]]
|
|
name = "gl_get_plane_data_size"
|
|
ignore = true
|
|
[[object.function]]
|
|
name = "gl_get_plane_start"
|
|
ignore = true
|
|
|
|
# Needs manual binding
|
|
[[object.function]]
|
|
name = "gl_insert_debug_marker"
|
|
ignore = true
|
|
|
|
# Needs manual binding around `[[f32;4];4]`
|
|
[[object.function]]
|
|
name = "gl_multiply_matrix4"
|
|
ignore = true
|
|
|
|
# Should be a method on GLContextExtManual
|
|
[[object.function]]
|
|
name = "gl_sized_gl_format_from_gl_format_type"
|
|
ignore = true
|
|
|
|
# Should be method on GLTextureTarget and/or Value
|
|
[[object.function]]
|
|
name = "gl_value_get_texture_target_mask"
|
|
ignore = true
|
|
|
|
# This needs to return a value
|
|
# target_mask is a bitwise mask of the GLTextureTarget enum
|
|
[[object.function]]
|
|
name = "gl_value_set_texture_target_from_mask"
|
|
ignore = true
|
|
|
|
# This needs more checks like target != GLTextureTarget::None
|
|
# and a value that's already initialized as a string.
|
|
# Could become GLTextureTarget::to_value() maybe.
|
|
[[object.function]]
|
|
name = "gl_value_set_texture_target"
|
|
ignore = true
|
|
|
|
# Should be a method/constructor on GLSLVersion
|
|
[[object.function]]
|
|
name = "gl_version_to_glsl_version"
|
|
ignore = true
|
|
|
|
# ffi constant is ignored
|
|
[[object.constant]]
|
|
name = "GL_COLOR_CONVERT_FORMATS"
|
|
ignore = true
|
|
[[object.constant]]
|
|
name = "GL_COLOR_CONVERT_EXT_FORMATS"
|
|
ignore = true
|
|
[[object.constant]]
|
|
name = "GL_MEMORY_VIDEO_FORMATS_STR"
|
|
ignore = true
|
|
[[object.constant]]
|
|
name = "GL_MEMORY_VIDEO_EXT_FORMATS"
|
|
ignore = true
|
|
|
|
# the below need manual bindings
|
|
[[object.function]]
|
|
name = "is_gl_base_memory"
|
|
ignore = true
|
|
[[object.function]]
|
|
name = "is_gl_buffer"
|
|
ignore = true
|
|
[[object.function]]
|
|
name = "is_gl_memory"
|
|
ignore = true
|
|
[[object.function]]
|
|
name = "is_gl_memory_pbo"
|
|
ignore = true
|
|
[[object.function]]
|
|
name = "is_gl_renderbuffer"
|
|
ignore = true
|
|
|
|
# duplicate of gst_gl_stereo_downmix_get_type
|
|
[[object.function]]
|
|
name = "gl_stereo_downmix_mode_get_type"
|
|
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.GLAPI"
|
|
status = "generate"
|
|
[[object.member]]
|
|
name = "none"
|
|
ignore = true
|
|
[[object.member]]
|
|
name = "any"
|
|
ignore = true
|
|
|
|
[[object]]
|
|
name = "GstGL.GLBuffer"
|
|
status = "manual"
|
|
ref_mode = "ref"
|
|
|
|
[[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.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"
|
|
manual = 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 domain definition in gir
|
|
ignore = true
|
|
|
|
[[object.function]]
|
|
name = "activate"
|
|
[object.function.return]
|
|
bool_return_is_error = "Failed to activate OpenGL context"
|
|
|
|
[[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
|
|
manual = true
|
|
|
|
[[object.function]]
|
|
name = "get_gl_context_for_thread"
|
|
# require object lock
|
|
manual = true
|
|
|
|
[[object.function]]
|
|
name = "create_context"
|
|
# require object lock
|
|
manual = true
|
|
|
|
[[object.function]]
|
|
name = "add_context"
|
|
# require object lock
|
|
manual = true
|
|
|
|
[[object.function]]
|
|
name = "remove_context"
|
|
# require object lock
|
|
manual = true
|
|
|
|
[[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.function]]
|
|
name = "ensure_context"
|
|
# inout parameter
|
|
manual = true
|
|
|
|
[[object]]
|
|
name = "GstGL.GLDisplayType"
|
|
status = "generate"
|
|
[[object.member]]
|
|
name = "none"
|
|
ignore = true
|
|
[[object.member]]
|
|
name = "any"
|
|
ignore = 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"
|
|
|
|
[[object]]
|
|
name = "GstGL.GLFramebuffer"
|
|
status = "generate"
|
|
manual_traits = ["GLFramebufferExtManual"]
|
|
|
|
[[object.function]]
|
|
name = "attach"
|
|
# attachment_point parameter unchecked
|
|
unsafe = true
|
|
|
|
[[object.function]]
|
|
name = "draw_to_texture"
|
|
manual = 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.GLPlatform"
|
|
status = "generate"
|
|
[[object.member]]
|
|
name = "none"
|
|
ignore = true
|
|
[[object.member]]
|
|
name = "any"
|
|
ignore = true
|
|
|
|
[[object]]
|
|
name = "GstGL.GLQuery"
|
|
status = "manual"
|
|
ref_mode = "ref"
|
|
|
|
[[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.GLSLProfile"
|
|
status = "generate"
|
|
[[object.member]]
|
|
name = "none"
|
|
ignore = true
|
|
[[object.member]]
|
|
name = "any"
|
|
ignore = true
|
|
|
|
[[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.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]]
|
|
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.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 = "submit_input_buffer"
|
|
# Buffer ownership transfer
|
|
ignore = true
|
|
|
|
[[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 domain definition in gir
|
|
ignore = true
|