v1 transcoding

This commit is contained in:
2026-02-16 00:06:58 -06:00
parent e9101ecd23
commit aa4c4fc8e6
3 changed files with 463 additions and 48 deletions

View File

@@ -7,6 +7,8 @@ pub struct Config {
pub base_url: String,
pub access_token: Option<String>,
pub user_id: Option<String>,
pub transcode_mbps: Option<u32>,
pub transcode_default_on: Option<bool>,
}
@@ -45,6 +47,8 @@ fn parse_config(s: &str) -> Result<Config, String> {
let mut base_url: Option<String> = None;
let mut access_token: Option<String> = None;
let mut user_id: Option<String> = None;
let mut transcode_mbps: Option<u32> = None;
let mut transcode_default_on: Option<bool> = None;
for (i, line) in s.lines().enumerate() {
let line = line.trim();
@@ -68,6 +72,18 @@ fn parse_config(s: &str) -> Result<Config, String> {
"base_url" => base_url = Some(val),
"access_token" => access_token = Some(val),
"user_id" => user_id = Some(val),
"transcode_mbps" => {
transcode_mbps = val.parse::<u32>().ok();
}
"transcode_default_on" => {
transcode_default_on = match val.as_str() {
"true" => Some(true),
"false" => Some(false),
_ => None,
};
}
_ => {}
}
}
@@ -78,6 +94,8 @@ fn parse_config(s: &str) -> Result<Config, String> {
base_url,
access_token,
user_id,
transcode_mbps,
transcode_default_on,
})
}
@@ -89,15 +107,25 @@ pub fn save_config(cfg: &Config) -> Result<(), ConfigError> {
let path = dir.join("config.toml");
let mut out = String::new();
out.push_str(&format!("base_url = \"{}\"\n", cfg.base_url));
if let Some(t) = &cfg.access_token {
out.push_str(&format!("access_token = \"{}\"\n", t));
}
if let Some(u) = &cfg.user_id {
out.push_str(&format!("user_id = \"{}\"\n", u));
}
if let Some(m) = cfg.transcode_mbps {
out.push_str(&format!("transcode_mbps = {}\n", m));
}
if let Some(b) = cfg.transcode_default_on {
out.push_str(&format!("transcode_default_on = {}\n", b));
}
std::fs::write(path, out)?;
Ok(())
}