gstreamer_pbutils/auto/
discoverer_audio_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 audio streams.
11    ///
12    /// # Implements
13    ///
14    /// [`DiscovererStreamInfoExt`][trait@crate::prelude::DiscovererStreamInfoExt], [`trait@glib::ObjectExt`]
15    #[doc(alias = "GstDiscovererAudioInfo")]
16    pub struct DiscovererAudioInfo(Object<ffi::GstDiscovererAudioInfo>) @extends DiscovererStreamInfo;
17
18    match fn {
19        type_ => || ffi::gst_discoverer_audio_info_get_type(),
20    }
21}
22
23impl DiscovererAudioInfo {
24    ///
25    /// # Returns
26    ///
27    /// the average or nominal bitrate of the stream in bits/second.
28    #[doc(alias = "gst_discoverer_audio_info_get_bitrate")]
29    #[doc(alias = "get_bitrate")]
30    pub fn bitrate(&self) -> u32 {
31        unsafe { ffi::gst_discoverer_audio_info_get_bitrate(self.to_glib_none().0) }
32    }
33
34    ///
35    /// # Returns
36    ///
37    /// the channel-mask of the stream, refer to
38    /// `gst_audio_channel_positions_from_mask()` for more
39    /// information.
40    #[doc(alias = "gst_discoverer_audio_info_get_channel_mask")]
41    #[doc(alias = "get_channel_mask")]
42    pub fn channel_mask(&self) -> u64 {
43        unsafe { ffi::gst_discoverer_audio_info_get_channel_mask(self.to_glib_none().0) }
44    }
45
46    ///
47    /// # Returns
48    ///
49    /// the number of channels in the stream.
50    #[doc(alias = "gst_discoverer_audio_info_get_channels")]
51    #[doc(alias = "get_channels")]
52    pub fn channels(&self) -> u32 {
53        unsafe { ffi::gst_discoverer_audio_info_get_channels(self.to_glib_none().0) }
54    }
55
56    ///
57    /// # Returns
58    ///
59    /// the number of bits used per sample in each channel.
60    #[doc(alias = "gst_discoverer_audio_info_get_depth")]
61    #[doc(alias = "get_depth")]
62    pub fn depth(&self) -> u32 {
63        unsafe { ffi::gst_discoverer_audio_info_get_depth(self.to_glib_none().0) }
64    }
65
66    ///
67    /// # Returns
68    ///
69    /// the language of the stream, or NULL if unknown.
70    #[doc(alias = "gst_discoverer_audio_info_get_language")]
71    #[doc(alias = "get_language")]
72    pub fn language(&self) -> Option<glib::GString> {
73        unsafe {
74            from_glib_none(ffi::gst_discoverer_audio_info_get_language(
75                self.to_glib_none().0,
76            ))
77        }
78    }
79
80    ///
81    /// # Returns
82    ///
83    /// the maximum bitrate of the stream in bits/second.
84    #[doc(alias = "gst_discoverer_audio_info_get_max_bitrate")]
85    #[doc(alias = "get_max_bitrate")]
86    pub fn max_bitrate(&self) -> u32 {
87        unsafe { ffi::gst_discoverer_audio_info_get_max_bitrate(self.to_glib_none().0) }
88    }
89
90    ///
91    /// # Returns
92    ///
93    /// the sample rate of the stream in Hertz.
94    #[doc(alias = "gst_discoverer_audio_info_get_sample_rate")]
95    #[doc(alias = "get_sample_rate")]
96    pub fn sample_rate(&self) -> u32 {
97        unsafe { ffi::gst_discoverer_audio_info_get_sample_rate(self.to_glib_none().0) }
98    }
99}
100
101unsafe impl Send for DiscovererAudioInfo {}
102unsafe impl Sync for DiscovererAudioInfo {}