gstreamer_gl_egl_sys/
lib.rs
1#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(
8 clippy::approx_constant,
9 clippy::type_complexity,
10 clippy::unreadable_literal,
11 clippy::upper_case_acronyms
12)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use glib_sys as glib;
16use gstreamer_gl_sys as gst_gl;
17
18#[cfg(unix)]
19#[allow(unused_imports)]
20use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
21#[allow(unused_imports)]
22use libc::{intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t, FILE};
23#[allow(unused_imports)]
24use std::ffi::{
25 c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
26};
27
28#[allow(unused_imports)]
29use glib::{gboolean, gconstpointer, gpointer, GType};
30
31pub const GST_GL_DISPLAY_EGL_NAME: &[u8] = b"gst.gl.display.egl\0";
33
34#[derive(Copy, Clone)]
36#[repr(C)]
37pub struct GstGLDisplayEGLClass {
38 pub object_class: gst_gl::GstGLDisplayClass,
39 pub _padding: [gpointer; 4],
40}
41
42impl ::std::fmt::Debug for GstGLDisplayEGLClass {
43 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
44 f.debug_struct(&format!("GstGLDisplayEGLClass @ {self:p}"))
45 .field("object_class", &self.object_class)
46 .field("_padding", &self._padding)
47 .finish()
48 }
49}
50
51#[derive(Copy, Clone)]
53#[repr(C)]
54pub struct GstGLDisplayEGL {
55 pub parent: gst_gl::GstGLDisplay,
56 pub display: gpointer,
57 pub foreign_display: gboolean,
58 pub _padding: [gpointer; 4],
59}
60
61impl ::std::fmt::Debug for GstGLDisplayEGL {
62 fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
63 f.debug_struct(&format!("GstGLDisplayEGL @ {self:p}"))
64 .field("parent", &self.parent)
65 .finish()
66 }
67}
68
69extern "C" {
70
71 pub fn gst_gl_display_egl_get_type() -> GType;
75 pub fn gst_gl_display_egl_new() -> *mut GstGLDisplayEGL;
76 #[cfg(feature = "v1_24")]
77 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
78 pub fn gst_gl_display_egl_new_surfaceless() -> *mut GstGLDisplayEGL;
79 pub fn gst_gl_display_egl_new_with_egl_display(display: gpointer) -> *mut GstGLDisplayEGL;
80 pub fn gst_gl_display_egl_from_gl_display(
81 display: *mut gst_gl::GstGLDisplay,
82 ) -> *mut GstGLDisplayEGL;
83 pub fn gst_gl_display_egl_get_from_native(
84 type_: gst_gl::GstGLDisplayType,
85 display: uintptr_t,
86 ) -> gpointer;
87 #[cfg(feature = "v1_26")]
88 #[cfg_attr(docsrs, doc(cfg(feature = "v1_26")))]
89 pub fn gst_gl_display_egl_set_foreign(display_egl: *mut GstGLDisplayEGL, foreign: gboolean);
90
91}