gstreamer_pbutils/auto/
discoverer_video_info.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5
6use crate::{ffi, DiscovererStreamInfo};
7use glib::translate::*;
8
9glib::wrapper! {
10    /// [`DiscovererStreamInfo`][crate::DiscovererStreamInfo] specific to video streams (this includes images).
11    ///
12    /// # Implements
13    ///
14    /// [`DiscovererStreamInfoExt`][trait@crate::prelude::DiscovererStreamInfoExt], [`trait@glib::ObjectExt`]
15    #[doc(alias = "GstDiscovererVideoInfo")]
16    pub struct DiscovererVideoInfo(Object<ffi::GstDiscovererVideoInfo>) @extends DiscovererStreamInfo;
17
18    match fn {
19        type_ => || ffi::gst_discoverer_video_info_get_type(),
20    }
21}
22
23impl DiscovererVideoInfo {
24    ///
25    /// # Returns
26    ///
27    /// the average or nominal bitrate of the video stream in bits/second.
28    #[doc(alias = "gst_discoverer_video_info_get_bitrate")]
29    #[doc(alias = "get_bitrate")]
30    pub fn bitrate(&self) -> u32 {
31        unsafe { ffi::gst_discoverer_video_info_get_bitrate(self.to_glib_none().0) }
32    }
33
34    ///
35    /// # Returns
36    ///
37    /// the depth in bits of the video stream.
38    #[doc(alias = "gst_discoverer_video_info_get_depth")]
39    #[doc(alias = "get_depth")]
40    pub fn depth(&self) -> u32 {
41        unsafe { ffi::gst_discoverer_video_info_get_depth(self.to_glib_none().0) }
42    }
43
44    ///
45    /// # Returns
46    ///
47    /// the height of the video stream in pixels.
48    #[doc(alias = "gst_discoverer_video_info_get_height")]
49    #[doc(alias = "get_height")]
50    pub fn height(&self) -> u32 {
51        unsafe { ffi::gst_discoverer_video_info_get_height(self.to_glib_none().0) }
52    }
53
54    ///
55    /// # Returns
56    ///
57    /// the maximum bitrate of the video stream in bits/second.
58    #[doc(alias = "gst_discoverer_video_info_get_max_bitrate")]
59    #[doc(alias = "get_max_bitrate")]
60    pub fn max_bitrate(&self) -> u32 {
61        unsafe { ffi::gst_discoverer_video_info_get_max_bitrate(self.to_glib_none().0) }
62    }
63
64    ///
65    /// # Returns
66    ///
67    /// the width of the video stream in pixels.
68    #[doc(alias = "gst_discoverer_video_info_get_width")]
69    #[doc(alias = "get_width")]
70    pub fn width(&self) -> u32 {
71        unsafe { ffi::gst_discoverer_video_info_get_width(self.to_glib_none().0) }
72    }
73
74    ///
75    /// # Returns
76    ///
77    /// [`true`] if the video stream corresponds to an image (i.e. only contains
78    /// one frame).
79    #[doc(alias = "gst_discoverer_video_info_is_image")]
80    pub fn is_image(&self) -> bool {
81        unsafe {
82            from_glib(ffi::gst_discoverer_video_info_is_image(
83                self.to_glib_none().0,
84            ))
85        }
86    }
87
88    ///
89    /// # Returns
90    ///
91    /// [`true`] if the stream is interlaced, else [`false`].
92    #[doc(alias = "gst_discoverer_video_info_is_interlaced")]
93    pub fn is_interlaced(&self) -> bool {
94        unsafe {
95            from_glib(ffi::gst_discoverer_video_info_is_interlaced(
96                self.to_glib_none().0,
97            ))
98        }
99    }
100}
101
102unsafe impl Send for DiscovererVideoInfo {}
103unsafe impl Sync for DiscovererVideoInfo {}