add flac encoding format

This commit is contained in:
2021-01-15 21:18:27 +01:00
parent 755f5dbd1d
commit 183e34c217
2 changed files with 18 additions and 0 deletions

View File

@@ -32,6 +32,12 @@ pub enum Transcode {
bitrate_type: BitrateType,
},
#[serde(rename = "flac")]
Flac {
#[serde(default = "default_flac_compression")]
compression: u8,
},
#[serde(rename = "mp3")]
Mp3 {
#[serde(default = "default_mp3_bitrate")]
@@ -46,6 +52,7 @@ impl Transcode {
pub fn extension(&self) -> &'static str {
match self {
Transcode::Opus { .. } => "opus",
Transcode::Flac { .. } => "flac",
Transcode::Mp3 { .. } => "mp3",
}
}
@@ -55,6 +62,10 @@ fn default_opus_bitrate() -> u16 {
160
}
fn default_flac_compression() -> u8 {
5
}
fn bitrate_type_vbr() -> BitrateType {
BitrateType::Vbr
}

View File

@@ -352,6 +352,13 @@ async fn transcode(
dest_elems.push(encoder);
dest_elems.push(gmake("oggmux")?);
}
config::Transcode::Flac { compression } => {
let encoder: Element = gmake("flacenc")?;
encoder.set_property_from_str("quality", &compression.to_string());
dest_elems.push(encoder);
}
config::Transcode::Mp3 {
bitrate,
bitrate_type,