aboutsummaryrefslogtreecommitdiff
path: root/common/src
diff options
context:
space:
mode:
Diffstat (limited to 'common/src')
-rw-r--r--common/src/impl.rs22
1 files changed, 21 insertions, 1 deletions
diff --git a/common/src/impl.rs b/common/src/impl.rs
index 0808eb8..c17f1ec 100644
--- a/common/src/impl.rs
+++ b/common/src/impl.rs
@@ -1,4 +1,4 @@
-use crate::SourceTrackKind;
+use crate::{SourceTrack, SourceTrackKind};
impl SourceTrackKind {
pub fn letter(&self) -> char {
@@ -9,3 +9,23 @@ impl SourceTrackKind {
}
}
}
+
+impl std::fmt::Display for SourceTrack {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ let kspec = match &self.kind {
+ SourceTrackKind::Video { width, height, fps } => {
+ format!("Video: {width}x{height}, {fps}fps, ")
+ }
+ SourceTrackKind::Audio {
+ channels,
+ sample_rate,
+ bit_depth,
+ } => format!("Audio: {channels}ch, {sample_rate}Hz, {bit_depth}bits, "),
+ SourceTrackKind::Subtitles => format!("Subtitles: "),
+ };
+ f.write_fmt(format_args!(
+ "{}, {:?}, {} ({})",
+ kspec, self.name, self.language, self.codec
+ ))
+ }
+}