audio codec/encoding

This commit is contained in:
Brandon Thomas committed 2023-01-11 00:33:40 -05:00
1 parent 603a678378
commit f2bfcfeb75
2 files changed
+13 -1

No files matched your search

@@ -7,6 +7,7 @@ use symphonia::core::probe::Hint;
pub struct BasicAudioInfo {
pub duration_millis: Option<u64>,
pub codec_name: Option<String>,
}
pub fn decode_basic_audio_info(
@@ -55,7 +56,16 @@ pub fn decode_basic_audio_info(
duration_millis + frac_millis
});
let codec_registry = symphonia::default::get_codecs();
let maybe_codec_name = format.default_track()
.map(|track| track.codec_params.codec)
.map(|codec_type| codec_registry.get_codec(codec_type))
.flatten()
.map(|codec_descriptor| codec_descriptor.short_name.to_string());
Ok(BasicAudioInfo {
duration_millis: maybe_track_duration,
codec_name: maybe_codec_name,
})
}
@@ -166,6 +166,7 @@ pub async fn upload_audio_handler(
};
let mut maybe_duration_millis = None;
let mut maybe_codec_name = None;
if let Some(mimetype) = maybe_mimetype.as_deref() {
match mimetype {
@@ -215,6 +216,7 @@ pub async fn upload_audio_handler(
})?;
maybe_duration_millis = basic_info.duration_millis;
maybe_codec_name = basic_info.codec_name;
}
_ => {}
}
@@ -228,7 +230,7 @@ pub async fn upload_audio_handler(
original_file_size_bytes: 0,
maybe_original_duration_millis: maybe_duration_millis,
maybe_original_mime_type: maybe_mimetype,
maybe_original_audio_encoding: None,
maybe_original_audio_encoding: maybe_codec_name.as_deref(),
maybe_original_video_encoding: None,
maybe_original_frame_width: None,
maybe_original_frame_height: None,