add flac encoding format
This commit is contained in:
@@ -32,6 +32,12 @@ pub enum Transcode {
|
|||||||
bitrate_type: BitrateType,
|
bitrate_type: BitrateType,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
#[serde(rename = "flac")]
|
||||||
|
Flac {
|
||||||
|
#[serde(default = "default_flac_compression")]
|
||||||
|
compression: u8,
|
||||||
|
},
|
||||||
|
|
||||||
#[serde(rename = "mp3")]
|
#[serde(rename = "mp3")]
|
||||||
Mp3 {
|
Mp3 {
|
||||||
#[serde(default = "default_mp3_bitrate")]
|
#[serde(default = "default_mp3_bitrate")]
|
||||||
@@ -46,6 +52,7 @@ impl Transcode {
|
|||||||
pub fn extension(&self) -> &'static str {
|
pub fn extension(&self) -> &'static str {
|
||||||
match self {
|
match self {
|
||||||
Transcode::Opus { .. } => "opus",
|
Transcode::Opus { .. } => "opus",
|
||||||
|
Transcode::Flac { .. } => "flac",
|
||||||
Transcode::Mp3 { .. } => "mp3",
|
Transcode::Mp3 { .. } => "mp3",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -55,6 +62,10 @@ fn default_opus_bitrate() -> u16 {
|
|||||||
160
|
160
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn default_flac_compression() -> u8 {
|
||||||
|
5
|
||||||
|
}
|
||||||
|
|
||||||
fn bitrate_type_vbr() -> BitrateType {
|
fn bitrate_type_vbr() -> BitrateType {
|
||||||
BitrateType::Vbr
|
BitrateType::Vbr
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -352,6 +352,13 @@ async fn transcode(
|
|||||||
dest_elems.push(encoder);
|
dest_elems.push(encoder);
|
||||||
dest_elems.push(gmake("oggmux")?);
|
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 {
|
config::Transcode::Mp3 {
|
||||||
bitrate,
|
bitrate,
|
||||||
bitrate_type,
|
bitrate_type,
|
||||||
|
|||||||
Reference in New Issue
Block a user