mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-05 09:48:44 +00:00
audio codec/encoding
This commit is contained in:
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,
|
||||
})
|
||||
}
|
||||
+3
-1
@@ -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,
|
||||
|
||||
Reference in new issue
Block a user