gstreamer_pbutils/
discoverer_audio_info.rs

1// Take a look at the license at the top of the repository in the LICENSE file.
2
3use std::fmt;
4
5use glib::prelude::*;
6
7use crate::{DiscovererAudioInfo, DiscovererStreamInfo};
8
9pub struct Debug<'a>(&'a DiscovererAudioInfo);
10
11impl fmt::Debug for Debug<'_> {
12    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
13        let info = self.0.upcast_ref::<DiscovererStreamInfo>();
14
15        f.debug_struct("DiscovererAudioInfo")
16            .field("channels", &self.0.channels())
17            .field("sample-rate", &self.0.sample_rate())
18            .field("depth", &self.0.depth())
19            .field("bitrate", &self.0.bitrate())
20            .field("max-bitrate", &self.0.max_bitrate())
21            .field("channel-mask", &self.0.channel_mask())
22            .field("language", &self.0.language())
23            .field("stream", &info.debug())
24            .finish()
25    }
26}
27
28impl DiscovererAudioInfo {
29    pub fn debug(&self) -> Debug {
30        Debug(self)
31    }
32}