From 4029b4fae5027c90555478d52189ade0a8e8a71b Mon Sep 17 00:00:00 2001 From: Gabriele Musco Date: Tue, 27 Aug 2024 23:27:43 +0200 Subject: [PATCH] fix: use from trait for encoder, codec, loglevel to u32 --- src/file_builders/wivrn_config.rs | 22 +++++++++++++--------- src/log_level.rs | 24 +++++++++++++----------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/file_builders/wivrn_config.rs b/src/file_builders/wivrn_config.rs index 8362617..3c4c557 100644 --- a/src/file_builders/wivrn_config.rs +++ b/src/file_builders/wivrn_config.rs @@ -36,12 +36,14 @@ impl Encoder { pub fn as_vec() -> Vec { vec![Self::X264, Self::Nvenc, Self::Vaapi] } +} - pub fn as_number(&self) -> u32 { - match self { - Self::X264 => 0, - Self::Nvenc => 1, - Self::Vaapi => 2, +impl From<&Encoder> for u32 { + fn from(value: &Encoder) -> Self { + match value { + Encoder::X264 => 0, + Encoder::Nvenc => 1, + Encoder::Vaapi => 2, } } } @@ -70,11 +72,13 @@ impl Codec { pub fn as_vec() -> Vec { vec![Self::H264, Self::H265] } +} - pub fn as_number(&self) -> u32 { - match self { - Self::H264 => 0, - Self::H265 => 1, +impl From<&Codec> for u32 { + fn from(value: &Codec) -> Self { + match value { + Codec::H264 => 0, + Codec::H265 => 1, } } } diff --git a/src/log_level.rs b/src/log_level.rs index 8d47161..ec08d76 100644 --- a/src/log_level.rs +++ b/src/log_level.rs @@ -82,16 +82,6 @@ impl LogLevel { .iter() } - pub fn as_number(&self) -> u32 { - match self { - Self::Trace => 0, - Self::Debug => 1, - Self::Info => 2, - Self::Warning => 3, - Self::Error => 99, - } - } - pub fn colored(&self) -> String { match self { Self::Trace => TermColor::Gray, @@ -104,9 +94,21 @@ impl LogLevel { } } +impl From<&LogLevel> for u32 { + fn from(value: &LogLevel) -> Self { + match value { + LogLevel::Trace => 0, + LogLevel::Debug => 1, + LogLevel::Info => 2, + LogLevel::Warning => 3, + LogLevel::Error => 99, + } + } +} + impl PartialOrd for LogLevel { fn partial_cmp(&self, other: &Self) -> Option { - Some(self.as_number().cmp(&other.as_number())) + Some(u32::from(self).cmp(&other.into())) } }