gstreamer_play/
play_video_info.rs1use std::mem;
4
5use glib::translate::*;
6
7use crate::{ffi, PlayVideoInfo};
8
9impl PlayVideoInfo {
10    #[doc(alias = "get_framerate")]
20    #[doc(alias = "gst_play_video_info_get_framerate")]
21    pub fn framerate(&self) -> gst::Fraction {
22        unsafe {
23            let mut fps_n = mem::MaybeUninit::uninit();
24            let mut fps_d = mem::MaybeUninit::uninit();
25            ffi::gst_play_video_info_get_framerate(
26                self.to_glib_none().0,
27                fps_n.as_mut_ptr(),
28                fps_d.as_mut_ptr(),
29            );
30            (fps_n.assume_init(), fps_d.assume_init()).into()
31        }
32    }
33
34    #[doc(alias = "get_pixel_aspect_ratio")]
45    #[doc(alias = "gst_play_video_info_get_pixel_aspect_ratio")]
46    pub fn pixel_aspect_ratio(&self) -> gst::Fraction {
47        unsafe {
48            let mut par_n = mem::MaybeUninit::uninit();
49            let mut par_d = mem::MaybeUninit::uninit();
50            ffi::gst_play_video_info_get_pixel_aspect_ratio(
51                self.to_glib_none().0,
52                par_n.as_mut_ptr(),
53                par_d.as_mut_ptr(),
54            );
55            (par_n.assume_init() as i32, par_d.assume_init() as i32).into()
56        }
57    }
58}