1 // Take a look at the license at the top of the repository in the LICENSE file.
2 
3 use std::mem;
4 
5 use glib::translate::IntoGlib;
6 
7 impl crate::VideoColorMatrix {
8     #[doc(alias = "get_kr_kb")]
kr_kb(&self) -> Result<(f64, f64), glib::BoolError>9     pub fn kr_kb(&self) -> Result<(f64, f64), glib::BoolError> {
10         assert_initialized_main_thread!();
11         unsafe {
12             let mut kr = mem::MaybeUninit::uninit();
13             let mut kb = mem::MaybeUninit::uninit();
14             glib::result_from_gboolean!(
15                 ffi::gst_video_color_matrix_get_Kr_Kb(
16                     self.into_glib(),
17                     kr.as_mut_ptr(),
18                     kb.as_mut_ptr(),
19                 ),
20                 "{:?} is not a YUV matrix",
21                 self
22             )?;
23             let kr = kr.assume_init();
24             let kb = kb.assume_init();
25             Ok((kr, kb))
26         }
27     }
28 }
29