[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 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 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