feat: change wivrn bitrate in ui to mbits

This commit is contained in:
PLYSHKA 2024-01-07 19:54:57 +00:00 committed by GabMus
parent c9d8f11c06
commit 1754c07455
2 changed files with 19 additions and 3 deletions

View file

@ -2,6 +2,7 @@ use crate::{
file_builders::wivrn_config::{Codec, Encoder, WivrnConfEncoder},
ui::{
preference_rows::{combo_row, number_entry_row, spin_row},
util::{bits_from_mbits, bits_to_mbits},
wivrn_conf_editor::WivrnConfEditorMsg,
},
};
@ -85,9 +86,13 @@ impl AsyncFactoryComponent for WivrnEncoderModel {
}
) -> adw::ComboRow,
add: bitrate_row = &number_entry_row(
"Bitrate",
"Bitrate (Mbps)",
&self.encoder_conf.bitrate
.and_then(|n| Some(n.to_string()))
.and_then(|n| if let Some(mbits) = bits_to_mbits(n) {
Some(mbits.to_string())
} else {
None
})
.unwrap_or_default(),
false,
{
@ -98,7 +103,10 @@ impl AsyncFactoryComponent for WivrnEncoderModel {
if txt.is_empty() {
None
} else {
Some(txt.parse::<u32>().unwrap())
match txt.parse::<u32>() {
Ok(bits) => bits_from_mbits(bits),
Err(e) => None,
}
}
));
}

View file

@ -61,3 +61,11 @@ pub fn copy_text(txt: &str) {
}
}
}
pub fn bits_to_mbits(bits: u32) -> Option<u32> {
bits.checked_div(1000000)
}
pub fn bits_from_mbits(mbits: u32) -> Option<u32> {
mbits.checked_mul(1000000)
}