From a920ab2bc15aaed67817dac09276141d63ab6f11 Mon Sep 17 00:00:00 2001 From: Devedse Date: Fri, 5 May 2023 12:42:27 +0200 Subject: [PATCH] Fix issue where ffmpeg can't be found if x64/x86 folders exist without ffmpeg in there --- FFMpegCore/GlobalFFOptions.cs | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/FFMpegCore/GlobalFFOptions.cs b/FFMpegCore/GlobalFFOptions.cs index 209e137..49cac16 100644 --- a/FFMpegCore/GlobalFFOptions.cs +++ b/FFMpegCore/GlobalFFOptions.cs @@ -30,12 +30,23 @@ private static string GetFFBinaryPath(string name, FFOptions ffOptions) } var target = Environment.Is64BitProcess ? "x64" : "x86"; - if (Directory.Exists(Path.Combine(ffOptions.BinaryFolder, target))) + var possiblePaths = new List() { - ffName = Path.Combine(target, ffName); + Path.Combine(ffOptions.BinaryFolder, target), + ffOptions.BinaryFolder + }; + + foreach (var possiblePath in possiblePaths) + { + var possibleFFMpegPath = Path.Combine(possiblePath, ffName); + if (File.Exists(possibleFFMpegPath)) + { + return possibleFFMpegPath; + } } - return Path.Combine(ffOptions.BinaryFolder, ffName); + //Fall back to the assumption this tool exists in the PATH + return ffName; } private static FFOptions LoadFFOptions()