add support for transcoding to mp3

This commit is contained in:
2020-12-22 13:20:55 +01:00
parent 61c275352d
commit 85e6a0cbeb
3 changed files with 48 additions and 9 deletions

View File

@@ -316,14 +316,33 @@ async fn transcode(
encoder.set_property_from_str(
"bitrate-type",
match bitrate_type {
config::OpusBitrateType::Vbr => "1",
config::OpusBitrateType::Cbr => "0",
config::BitrateType::Vbr => "1",
config::BitrateType::Cbr => "0",
},
);
dest_elems.push(encoder);
dest_elems.push(gmake("oggmux")?);
}
config::Transcode::Mp3 {
bitrate,
bitrate_type,
} => {
let encoder: Element = gmake("lamemp3enc")?;
// target: "1" = "bitrate"
encoder.set_property_from_str("target", "1");
encoder.set_property("bitrate", &i32::from(*bitrate))?;
encoder.set_property(
"cbr",
match bitrate_type {
config::BitrateType::Vbr => &false,
config::BitrateType::Cbr => &true,
},
)?;
dest_elems.push(encoder);
dest_elems.push(gmake("id3v2mux")?);
}
};
let file_dest: gstreamer_base::BaseSink = gmake("filesink")?;