mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
commit
808ff8f054
@ -335,6 +335,7 @@ namespace MediaBrowser.Server.Startup.Common
|
|||||||
foreach (var entryPoint in GetExports<IServerEntryPoint>().ToList())
|
foreach (var entryPoint in GetExports<IServerEntryPoint>().ToList())
|
||||||
{
|
{
|
||||||
var name = entryPoint.GetType().FullName;
|
var name = entryPoint.GetType().FullName;
|
||||||
|
Logger.Info("Starting entry point {0}", name);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
entryPoint.Run();
|
entryPoint.Run();
|
||||||
@ -343,8 +344,9 @@ namespace MediaBrowser.Server.Startup.Common
|
|||||||
{
|
{
|
||||||
Logger.ErrorException("Error in {0}", ex, name);
|
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();
|
LogManager.RemoveConsoleOutput();
|
||||||
}
|
}
|
||||||
|
@ -60,10 +60,6 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
|
|||||||
var downloadInfo = _ffmpegInstallInfo;
|
var downloadInfo = _ffmpegInstallInfo;
|
||||||
|
|
||||||
var version = downloadInfo.Version;
|
var version = downloadInfo.Version;
|
||||||
if (string.Equals(version, "0", StringComparison.OrdinalIgnoreCase))
|
|
||||||
{
|
|
||||||
return new FFMpegInfo();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (string.Equals(version, "path", StringComparison.OrdinalIgnoreCase))
|
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 rootEncoderPath = Path.Combine(_appPaths.ProgramDataPath, "ffmpeg");
|
||||||
var versionedDirectoryPath = Path.Combine(rootEncoderPath, version);
|
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
|
// No older version. Need to download and block until complete
|
||||||
if (existingVersion == null)
|
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
|
else
|
||||||
{
|
{
|
||||||
@ -179,7 +184,7 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
|
|||||||
return null;
|
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)
|
foreach (var url in downloadinfo.DownloadUrls)
|
||||||
{
|
{
|
||||||
@ -196,20 +201,14 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
|
|||||||
}).ConfigureAwait(false);
|
}).ConfigureAwait(false);
|
||||||
|
|
||||||
ExtractFFMpeg(downloadinfo, tempFile, directory);
|
ExtractFFMpeg(downloadinfo, tempFile, directory);
|
||||||
return;
|
return true;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_logger.ErrorException("Error downloading {0}", ex, url);
|
_logger.ErrorException("Error downloading {0}", ex, url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
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.");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ExtractFFMpeg(FFMpegInstallInfo downloadinfo, string tempFile, string targetFolder)
|
private void ExtractFFMpeg(FFMpegInstallInfo downloadinfo, string tempFile, string targetFolder)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user