From 42c35b791c79d5931d15e200c04fab3ffa4dc657 Mon Sep 17 00:00:00 2001 From: John Andrews Date: Wed, 31 Jul 2024 08:45:15 +1200 Subject: [PATCH] FF-1679: Fixed issue reading metadata in WAV files --- AudioNodes/AudioInfoHelper.cs | 18 ++++++++++++------ AudioNodes/Tests/AudioInfoTests.cs | 20 +++++++++++++------- FileFlows.Plugin.dll | Bin 147968 -> 147968 bytes FileFlows.Plugin.pdb | Bin 36780 -> 36780 bytes 4 files changed, 25 insertions(+), 13 deletions(-) diff --git a/AudioNodes/AudioInfoHelper.cs b/AudioNodes/AudioInfoHelper.cs index af89524c..9fd367e7 100644 --- a/AudioNodes/AudioInfoHelper.cs +++ b/AudioNodes/AudioInfoHelper.cs @@ -32,7 +32,16 @@ public class AudioInfoHelper if (result.IsFailed == false) mi = result.Value; else - mi = ReadMetaData(filename); + { + try + { + mi = ReadMetaData(filename); + } + catch (Exception) + { + mi = new AudioInfo(); + } + } try { @@ -363,9 +372,10 @@ public class AudioInfoHelper public void ParseFileNameInfo(string filename, AudioInfo mi) { - using var tfile = TagLib.File.Create(filename); try { + using var tfile = TagLib.File.Create(filename); + var fileInfo = new System.IO.FileInfo(filename); bool dirty = false; @@ -458,10 +468,6 @@ public class AudioInfoHelper { Logger?.WLog("Failed parsing Audio info from filename: " + ex.Message + Environment.NewLine + ex.StackTrace); } - finally - { - tfile.Dispose(); - } } } \ No newline at end of file diff --git a/AudioNodes/Tests/AudioInfoTests.cs b/AudioNodes/Tests/AudioInfoTests.cs index 0ed5a35c..13d42efc 100644 --- a/AudioNodes/Tests/AudioInfoTests.cs +++ b/AudioNodes/Tests/AudioInfoTests.cs @@ -32,19 +32,25 @@ public class AudioInfoTests: AudioTestBase [TestMethod] public void AudioInfo_NormalTrack() { - const string file = @"\\oracle\Audio\Taylor Swift\Speak Now\Taylor Swift - Speak Now - 08 - Never Grow Up.mp3"; - const string ffmpegExe = @"C:\utils\ffmpeg\ffmpeg.exe"; - var args = new FileFlows.Plugin.NodeParameters(file, new TestLogger(), false, string.Empty, null);; - args.GetToolPathActual = (string tool) => ffmpegExe; - args.TempPath = @"D:\music\temp"; - - var AudioInfo = new AudioInfoHelper(ffmpegExe, ffprobe, args.Logger).Read(args.WorkingFile); + var args = GetNodeParameters(file, false); + var AudioInfo = new AudioInfoHelper(ffmpeg, ffprobe, args.Logger).Read(args.WorkingFile); Assert.AreEqual(8, AudioInfo.Value.Track); } + [TestMethod] + public void AudioInfo_LargeWav() + { + string file = Path.Combine(TestPath, "large-wav.wav"); + + var args = GetNodeParameters(file, false); + var AudioInfo = new AudioInfoHelper(ffmpeg, ffprobe, args.Logger).Read(args.WorkingFile); + + Assert.AreEqual(96000, AudioInfo.Value.Frequency); + } + [TestMethod] public void AudioInfo_GetMetaData() { diff --git a/FileFlows.Plugin.dll b/FileFlows.Plugin.dll index 0dcd8840742c057e859a786fb99938205342ec08..1a27a608fcf240f0d5f7164a222a13d39535569c 100644 GIT binary patch delta 247 zcmZo@;cRH(oY27%b(-a7V^3=jeH9(tyx_AqfZ#8B!UN8BBmM1&A$xe2|zKP|Ora8-i6?G8hBZ S8-sNl0acl8ueE1tW&!}Gl1d~1 delta 247 zcmZo@;cRH(oY28y<^JbPV^3=j_NmvY1!46> zOAB)&3lrl+vlIgZvozCWgERv(vowoj6N6;a6ho7=)Kp7L6N~M?&6p-KvanPYc1)jO z!4x16em6&~q9?_9qkv_)ME98q(?3`+*(*Rr7k`9`g4B!l-HYS9d}=30g=F7$e@mu^ ztiFj1mJAjQ<_tza(uBd7A(6q1A%(#J2+bJM7)%+Gfvhwz55%_s@=bueWS~q6gCUTe U#*hkxmOyC2V6nZ{o~fA$0A5&0;Q#;t diff --git a/FileFlows.Plugin.pdb b/FileFlows.Plugin.pdb index 658887488d5587f854b3f920fd934b3fb374da4d..6d383c6d13004f5480856967ca388698cbd39ca1 100644 GIT binary patch delta 2985 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 I%?Eh@1E5#{8UO$Q