gstreamer-rs/gstreamer-pbutils/src/discoverer_audio_info.rs
Guillaume Desmottes 5b0f29003f pbutils: implement debug() method on DiscovererInfo related structs
The default Debug implementation is not very useful but unfortunately
cannot be overridden.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1290>
2023-07-05 11:30:33 +03:00

33 lines
958 B
Rust

// Take a look at the license at the top of the repository in the LICENSE file.
use std::fmt;
use glib::Cast;
use crate::{DiscovererAudioInfo, DiscovererStreamInfo};
pub struct Debug<'a>(&'a DiscovererAudioInfo);
impl<'a> fmt::Debug for Debug<'a> {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
let info = self.0.upcast_ref::<DiscovererStreamInfo>();
f.debug_struct("DiscovererAudioInfo")
.field("channels", &self.0.channels())
.field("sample-rate", &self.0.sample_rate())
.field("depth", &self.0.depth())
.field("bitrate", &self.0.bitrate())
.field("max-bitrate", &self.0.max_bitrate())
.field("channel-mask", &self.0.channel_mask())
.field("language", &self.0.language())
.field("stream", &info.debug())
.finish()
}
}
impl DiscovererAudioInfo {
pub fn debug(&self) -> Debug {
Debug(self)
}
}