aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegLoader.cs20
1 files changed, 13 insertions, 7 deletions
diff --git a/MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegLoader.cs b/MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegLoader.cs
index 39f593310..4c5759b56 100644
--- a/MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegLoader.cs
+++ b/MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegLoader.cs
@@ -60,10 +60,6 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
var downloadInfo = _ffmpegInstallInfo;
var version = downloadInfo.Version;
- if (string.Equals(version, "0", StringComparison.OrdinalIgnoreCase))
- {
- return new FFMpegInfo();
- }
if (string.Equals(version, "path", StringComparison.OrdinalIgnoreCase))
{
@@ -75,6 +71,11 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
};
}
+ if (string.Equals(version, "0", StringComparison.OrdinalIgnoreCase))
+ {
+ return new FFMpegInfo();
+ }
+
var rootEncoderPath = Path.Combine(_appPaths.ProgramDataPath, "ffmpeg");
var versionedDirectoryPath = Path.Combine(rootEncoderPath, version);
@@ -97,7 +98,11 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
// No older version. Need to download and block until complete
if (existingVersion == null)
{
- await DownloadFFMpeg(downloadInfo, versionedDirectoryPath, progress).ConfigureAwait(false);
+ var success = await DownloadFFMpeg(downloadInfo, versionedDirectoryPath, progress).ConfigureAwait(false);
+ if (!success)
+ {
+ return new FFMpegInfo();
+ }
}
else
{
@@ -179,7 +184,7 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
return null;
}
- private async Task DownloadFFMpeg(FFMpegInstallInfo downloadinfo, string directory, IProgress<double> progress)
+ private async Task<bool> DownloadFFMpeg(FFMpegInstallInfo downloadinfo, string directory, IProgress<double> progress)
{
foreach (var url in downloadinfo.DownloadUrls)
{
@@ -196,13 +201,14 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
}).ConfigureAwait(false);
ExtractFFMpeg(downloadinfo, tempFile, directory);
- return;
+ return true;
}
catch (Exception ex)
{
_logger.ErrorException("Error downloading {0}", ex, url);
}
}
+ return false;
}
private void ExtractFFMpeg(FFMpegInstallInfo downloadinfo, string tempFile, string targetFolder)