Kaynağa Gözat

Merge pull request #1893 from MediaBrowser/dev

Dev
Luke 9 yıl önce
ebeveyn
işleme
808ff8f054

+ 3 - 1
MediaBrowser.Server.Startup.Common/ApplicationHost.cs

@@ -335,6 +335,7 @@ namespace MediaBrowser.Server.Startup.Common
             foreach (var entryPoint in GetExports<IServerEntryPoint>().ToList())
             {
                 var name = entryPoint.GetType().FullName;
+                Logger.Info("Starting entry point {0}", name);
                 try
                 {
                     entryPoint.Run();
@@ -343,8 +344,9 @@ namespace MediaBrowser.Server.Startup.Common
                 {
                     Logger.ErrorException("Error in {0}", ex, name);
                 }
+                Logger.Info("Entry point completed: {0}", name);
             }
-            Logger.Info("Entry points complete");
+            Logger.Info("All entry points have started");
 
             LogManager.RemoveConsoleOutput();
         }

+ 13 - 14
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,20 +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);
                 }
             }
-
-            if (downloadinfo.DownloadUrls.Length == 0)
-            {
-                throw new ApplicationException("ffmpeg unvailable. Please install it and start the server with two command line arguments: -ffmpeg \"{PATH}\" and -ffprobe \"{PATH}\"");
-            }
-
-            throw new ApplicationException("Unable to download required components. Please try again later.");
+            return false;
         }
 
         private void ExtractFFMpeg(FFMpegInstallInfo downloadinfo, string tempFile, string targetFolder)