gstreamer-rs/gstreamer-video/src/video_color_matrix.rs
2021-04-13 17:54:40 +02:00

28 lines
815 B
Rust

// Take a look at the license at the top of the repository in the LICENSE file.
use std::mem;
use glib::translate::ToGlib;
impl crate::VideoColorMatrix {
pub fn kr_kb(&self) -> Result<(f64, f64), glib::BoolError> {
assert_initialized_main_thread!();
unsafe {
let mut kr = mem::MaybeUninit::uninit();
let mut kb = mem::MaybeUninit::uninit();
glib::result_from_gboolean!(
ffi::gst_video_color_matrix_get_Kr_Kb(
self.to_glib(),
kr.as_mut_ptr(),
kb.as_mut_ptr(),
),
"{:?} is not a YUV matrix",
self
)?;
let kr = kr.assume_init();
let kb = kb.assume_init();
Ok((kr, kb))
}
}
}