gl_view_convert.rs 9.43 KB
Newer Older
1 2 3 4 5 6 7 8 9
// This file was generated by gir (https://github.com/gtk-rs/gir)
// from gir-files (https://github.com/gtk-rs/gir-files)
// DO NOT EDIT

use GLContext;
use GLStereoDownmix;
use ffi;
use glib::StaticType;
use glib::Value;
10 11
use glib::object::IsA;
use glib::object::ObjectType;
12
use glib::signal::SignalHandlerId;
13
use glib::signal::connect_raw;
14 15 16 17 18 19 20 21 22
use glib::translate::*;
use glib_ffi;
use gobject_ffi;
use gst;
use gst_video;
use std::boxed::Box as Box_;
use std::mem::transmute;

glib_wrapper! {
23
    pub struct GLViewConvert(Object<ffi::GstGLViewConvert, ffi::GstGLViewConvertClass, GLViewConvertClass>) @extends gst::Object;
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

    match fn {
        get_type => || ffi::gst_gl_view_convert_get_type(),
    }
}

impl GLViewConvert {
    pub fn new() -> GLViewConvert {
        assert_initialized_main_thread!();
        unsafe {
            from_glib_full(ffi::gst_gl_view_convert_new())
        }
    }

    pub fn perform(&self, inbuf: &gst::Buffer) -> Option<gst::Buffer> {
        unsafe {
            from_glib_full(ffi::gst_gl_view_convert_perform(self.to_glib_none().0, inbuf.to_glib_none().0))
        }
    }

    pub fn reset(&self) {
        unsafe {
            ffi::gst_gl_view_convert_reset(self.to_glib_none().0);
        }
    }

    pub fn set_caps(&self, in_caps: &gst::Caps, out_caps: &gst::Caps) -> bool {
        unsafe {
            from_glib(ffi::gst_gl_view_convert_set_caps(self.to_glib_none().0, in_caps.to_glib_none().0, out_caps.to_glib_none().0))
        }
    }

56
    pub fn set_context<P: IsA<GLContext>>(&self, context: &P) {
57
        unsafe {
58
            ffi::gst_gl_view_convert_set_context(self.to_glib_none().0, context.as_ref().to_glib_none().0);
59 60 61 62 63 64 65 66 67 68 69 70
        }
    }

    pub fn transform_caps(&self, direction: gst::PadDirection, caps: &gst::Caps, filter: &gst::Caps) -> Option<gst::Caps> {
        unsafe {
            from_glib_full(ffi::gst_gl_view_convert_transform_caps(self.to_glib_none().0, direction.to_glib(), caps.to_glib_none().0, filter.to_glib_none().0))
        }
    }

    pub fn get_property_downmix_mode(&self) -> GLStereoDownmix {
        unsafe {
            let mut value = Value::from_type(<GLStereoDownmix as StaticType>::static_type());
71
            gobject_ffi::g_object_get_property(self.as_ptr() as *mut gobject_ffi::GObject, b"downmix-mode\0".as_ptr() as *const _, value.to_glib_none_mut().0);
72 73 74 75 76 77
            value.get().unwrap()
        }
    }

    pub fn set_property_downmix_mode(&self, downmix_mode: GLStereoDownmix) {
        unsafe {
78
            gobject_ffi::g_object_set_property(self.as_ptr() as *mut gobject_ffi::GObject, b"downmix-mode\0".as_ptr() as *const _, Value::from(&downmix_mode).to_glib_none().0);
79 80 81 82 83 84
        }
    }

    pub fn get_property_input_flags_override(&self) -> gst_video::VideoMultiviewFlags {
        unsafe {
            let mut value = Value::from_type(<gst_video::VideoMultiviewFlags as StaticType>::static_type());
85
            gobject_ffi::g_object_get_property(self.as_ptr() as *mut gobject_ffi::GObject, b"input-flags-override\0".as_ptr() as *const _, value.to_glib_none_mut().0);
86 87 88 89 90 91
            value.get().unwrap()
        }
    }

    pub fn set_property_input_flags_override(&self, input_flags_override: gst_video::VideoMultiviewFlags) {
        unsafe {
92
            gobject_ffi::g_object_set_property(self.as_ptr() as *mut gobject_ffi::GObject, b"input-flags-override\0".as_ptr() as *const _, Value::from(&input_flags_override).to_glib_none().0);
93 94 95 96 97 98
        }
    }

    pub fn get_property_input_mode_override(&self) -> gst_video::VideoMultiviewMode {
        unsafe {
            let mut value = Value::from_type(<gst_video::VideoMultiviewMode as StaticType>::static_type());
99
            gobject_ffi::g_object_get_property(self.as_ptr() as *mut gobject_ffi::GObject, b"input-mode-override\0".as_ptr() as *const _, value.to_glib_none_mut().0);
100 101 102 103 104 105
            value.get().unwrap()
        }
    }

    pub fn set_property_input_mode_override(&self, input_mode_override: gst_video::VideoMultiviewMode) {
        unsafe {
106
            gobject_ffi::g_object_set_property(self.as_ptr() as *mut gobject_ffi::GObject, b"input-mode-override\0".as_ptr() as *const _, Value::from(&input_mode_override).to_glib_none().0);
107 108 109 110 111 112
        }
    }

    pub fn get_property_output_flags_override(&self) -> gst_video::VideoMultiviewFlags {
        unsafe {
            let mut value = Value::from_type(<gst_video::VideoMultiviewFlags as StaticType>::static_type());
113
            gobject_ffi::g_object_get_property(self.as_ptr() as *mut gobject_ffi::GObject, b"output-flags-override\0".as_ptr() as *const _, value.to_glib_none_mut().0);
114 115 116 117 118 119
            value.get().unwrap()
        }
    }

    pub fn set_property_output_flags_override(&self, output_flags_override: gst_video::VideoMultiviewFlags) {
        unsafe {
120
            gobject_ffi::g_object_set_property(self.as_ptr() as *mut gobject_ffi::GObject, b"output-flags-override\0".as_ptr() as *const _, Value::from(&output_flags_override).to_glib_none().0);
121 122 123 124 125 126
        }
    }

    pub fn get_property_output_mode_override(&self) -> gst_video::VideoMultiviewMode {
        unsafe {
            let mut value = Value::from_type(<gst_video::VideoMultiviewMode as StaticType>::static_type());
127
            gobject_ffi::g_object_get_property(self.as_ptr() as *mut gobject_ffi::GObject, b"output-mode-override\0".as_ptr() as *const _, value.to_glib_none_mut().0);
128 129 130 131 132 133
            value.get().unwrap()
        }
    }

    pub fn set_property_output_mode_override(&self, output_mode_override: gst_video::VideoMultiviewMode) {
        unsafe {
134
            gobject_ffi::g_object_set_property(self.as_ptr() as *mut gobject_ffi::GObject, b"output-mode-override\0".as_ptr() as *const _, Value::from(&output_mode_override).to_glib_none().0);
135 136 137 138 139 140
        }
    }

    pub fn connect_property_downmix_mode_notify<F: Fn(&GLViewConvert) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId {
        unsafe {
            let f: Box_<Box_<Fn(&GLViewConvert) + Send + Sync + 'static>> = Box_::new(Box_::new(f));
141
            connect_raw(self.as_ptr() as *mut _, b"notify::downmix-mode\0".as_ptr() as *const _,
142 143 144 145 146 147 148
                transmute(notify_downmix_mode_trampoline as usize), Box_::into_raw(f) as *mut _)
        }
    }

    pub fn connect_property_input_flags_override_notify<F: Fn(&GLViewConvert) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId {
        unsafe {
            let f: Box_<Box_<Fn(&GLViewConvert) + Send + Sync + 'static>> = Box_::new(Box_::new(f));
149
            connect_raw(self.as_ptr() as *mut _, b"notify::input-flags-override\0".as_ptr() as *const _,
150 151 152 153 154 155 156
                transmute(notify_input_flags_override_trampoline as usize), Box_::into_raw(f) as *mut _)
        }
    }

    pub fn connect_property_input_mode_override_notify<F: Fn(&GLViewConvert) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId {
        unsafe {
            let f: Box_<Box_<Fn(&GLViewConvert) + Send + Sync + 'static>> = Box_::new(Box_::new(f));
157
            connect_raw(self.as_ptr() as *mut _, b"notify::input-mode-override\0".as_ptr() as *const _,
158 159 160 161 162 163 164
                transmute(notify_input_mode_override_trampoline as usize), Box_::into_raw(f) as *mut _)
        }
    }

    pub fn connect_property_output_flags_override_notify<F: Fn(&GLViewConvert) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId {
        unsafe {
            let f: Box_<Box_<Fn(&GLViewConvert) + Send + Sync + 'static>> = Box_::new(Box_::new(f));
165
            connect_raw(self.as_ptr() as *mut _, b"notify::output-flags-override\0".as_ptr() as *const _,
166 167 168 169 170 171 172
                transmute(notify_output_flags_override_trampoline as usize), Box_::into_raw(f) as *mut _)
        }
    }

    pub fn connect_property_output_mode_override_notify<F: Fn(&GLViewConvert) + Send + Sync + 'static>(&self, f: F) -> SignalHandlerId {
        unsafe {
            let f: Box_<Box_<Fn(&GLViewConvert) + Send + Sync + 'static>> = Box_::new(Box_::new(f));
173
            connect_raw(self.as_ptr() as *mut _, b"notify::output-mode-override\0".as_ptr() as *const _,
174 175 176 177 178 179 180 181 182 183 184 185 186 187
                transmute(notify_output_mode_override_trampoline as usize), Box_::into_raw(f) as *mut _)
        }
    }
}

impl Default for GLViewConvert {
    fn default() -> Self {
        Self::new()
    }
}

unsafe impl Send for GLViewConvert {}
unsafe impl Sync for GLViewConvert {}

188 189
pub const NONE_GL_VIEW_CONVERT: Option<&GLViewConvert> = None;

190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
unsafe extern "C" fn notify_downmix_mode_trampoline(this: *mut ffi::GstGLViewConvert, _param_spec: glib_ffi::gpointer, f: glib_ffi::gpointer) {
    let f: &&(Fn(&GLViewConvert) + Send + Sync + 'static) = transmute(f);
    f(&from_glib_borrow(this))
}

unsafe extern "C" fn notify_input_flags_override_trampoline(this: *mut ffi::GstGLViewConvert, _param_spec: glib_ffi::gpointer, f: glib_ffi::gpointer) {
    let f: &&(Fn(&GLViewConvert) + Send + Sync + 'static) = transmute(f);
    f(&from_glib_borrow(this))
}

unsafe extern "C" fn notify_input_mode_override_trampoline(this: *mut ffi::GstGLViewConvert, _param_spec: glib_ffi::gpointer, f: glib_ffi::gpointer) {
    let f: &&(Fn(&GLViewConvert) + Send + Sync + 'static) = transmute(f);
    f(&from_glib_borrow(this))
}

unsafe extern "C" fn notify_output_flags_override_trampoline(this: *mut ffi::GstGLViewConvert, _param_spec: glib_ffi::gpointer, f: glib_ffi::gpointer) {
    let f: &&(Fn(&GLViewConvert) + Send + Sync + 'static) = transmute(f);
    f(&from_glib_borrow(this))
}

unsafe extern "C" fn notify_output_mode_override_trampoline(this: *mut ffi::GstGLViewConvert, _param_spec: glib_ffi::gpointer, f: glib_ffi::gpointer) {
    let f: &&(Fn(&GLViewConvert) + Send + Sync + 'static) = transmute(f);
    f(&from_glib_borrow(this))
}