mirror of
https://gitlab.com/gabmus/envision.git
synced 2025-04-20 11:35:48 +00:00
feat: change wivrn bitrate in ui to mbits
This commit is contained in:
parent
c9d8f11c06
commit
1754c07455
2 changed files with 19 additions and 3 deletions
|
@ -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,
|
||||
}
|
||||
}
|
||||
));
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue