diff --git a/.gitignore b/.gitignore index ea8c4bf..c46c03c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /target +/test_media \ No newline at end of file diff --git a/mise.toml b/mise.toml index 95d23b8..2ceea7c 100644 --- a/mise.toml +++ b/mise.toml @@ -1,2 +1,3 @@ [tools] +python = "3.11" rust = "latest" diff --git a/src/adapters/filesystem/file_picker.rs b/src/adapters/filesystem/file_picker.rs index 0af06cb..99d305a 100644 --- a/src/adapters/filesystem/file_picker.rs +++ b/src/adapters/filesystem/file_picker.rs @@ -51,7 +51,11 @@ impl FilePickerAdapter { /// (ex: `aac` → `.aac`, `vorbis` → `.ogg`). Cai em `.mka` para codecs desconhecidos. pub fn save_audio(codec: &str) -> Option { let (ext, label) = match codec { - "aac" => ("aac", "AAC"), + // AAC exportado como .m4a (container MPEG-4) em vez de .aac (ADTS raw). + // O formato ADTS não armazena duração total — o ffprobe estima pelo bitrate + // e pode reportar até dezenas de segundos a menos. O container M4A preserva + // a duração exata dos atoms do container original. + "aac" => ("m4a", "M4A (AAC)"), "ac3" => ("ac3", "AC3"), "eac3" => ("eac3", "E-AC3"), "dts" => ("dts", "DTS"),