mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-07 08:18:54 +01:00
add standalone EncodingOptions
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
using MediaBrowser.Api.Playback;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Controller.Configuration;
|
||||
using MediaBrowser.Controller.Plugins;
|
||||
using MediaBrowser.Controller.Session;
|
||||
using MediaBrowser.Model.Configuration;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using MediaBrowser.Model.Session;
|
||||
using System;
|
||||
@@ -33,7 +35,7 @@ namespace MediaBrowser.Api
|
||||
/// <summary>
|
||||
/// The application paths
|
||||
/// </summary>
|
||||
private readonly IServerApplicationPaths _appPaths;
|
||||
private readonly IServerConfigurationManager _config;
|
||||
|
||||
private readonly ISessionManager _sessionManager;
|
||||
|
||||
@@ -43,13 +45,13 @@ namespace MediaBrowser.Api
|
||||
/// Initializes a new instance of the <see cref="ApiEntryPoint" /> class.
|
||||
/// </summary>
|
||||
/// <param name="logger">The logger.</param>
|
||||
/// <param name="appPaths">The application paths.</param>
|
||||
/// <param name="sessionManager">The session manager.</param>
|
||||
public ApiEntryPoint(ILogger logger, IServerApplicationPaths appPaths, ISessionManager sessionManager)
|
||||
/// <param name="config">The configuration.</param>
|
||||
public ApiEntryPoint(ILogger logger, ISessionManager sessionManager, IServerConfigurationManager config)
|
||||
{
|
||||
Logger = logger;
|
||||
_appPaths = appPaths;
|
||||
_sessionManager = sessionManager;
|
||||
_config = config;
|
||||
|
||||
Instance = this;
|
||||
}
|
||||
@@ -73,12 +75,17 @@ namespace MediaBrowser.Api
|
||||
}
|
||||
}
|
||||
|
||||
public EncodingOptions GetEncodingOptions()
|
||||
{
|
||||
return _config.GetConfiguration<EncodingOptions>("encoding");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Deletes the encoded media cache.
|
||||
/// </summary>
|
||||
private void DeleteEncodedMediaCache()
|
||||
{
|
||||
foreach (var file in Directory.EnumerateFiles(_appPaths.TranscodingTempPath, "*", SearchOption.AllDirectories)
|
||||
foreach (var file in Directory.EnumerateFiles(_config.ApplicationPaths.TranscodingTempPath, "*", SearchOption.AllDirectories)
|
||||
.ToList())
|
||||
{
|
||||
File.Delete(file);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using MediaBrowser.Common.Extensions;
|
||||
using MediaBrowser.Common.Configuration;
|
||||
using MediaBrowser.Common.Extensions;
|
||||
using MediaBrowser.Common.IO;
|
||||
using MediaBrowser.Controller.Channels;
|
||||
using MediaBrowser.Controller.Configuration;
|
||||
@@ -249,7 +250,7 @@ namespace MediaBrowser.Api.Playback
|
||||
|
||||
protected EncodingQuality GetQualitySetting()
|
||||
{
|
||||
var quality = ServerConfigurationManager.Configuration.MediaEncodingQuality;
|
||||
var quality = ApiEntryPoint.Instance.GetEncodingOptions().MediaEncodingQuality;
|
||||
|
||||
if (quality == EncodingQuality.Auto)
|
||||
{
|
||||
@@ -310,7 +311,7 @@ namespace MediaBrowser.Api.Playback
|
||||
{
|
||||
get
|
||||
{
|
||||
var lib = ServerConfigurationManager.Configuration.H264Encoder;
|
||||
var lib = ApiEntryPoint.Instance.GetEncodingOptions().H264Encoder;
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(lib))
|
||||
{
|
||||
@@ -461,7 +462,7 @@ namespace MediaBrowser.Api.Playback
|
||||
{
|
||||
if (state.AudioStream != null && state.AudioStream.Channels.HasValue && state.AudioStream.Channels.Value > 5)
|
||||
{
|
||||
volParam = ",volume=" + ServerConfigurationManager.Configuration.DownMixAudioBoost.ToString(UsCulture);
|
||||
volParam = ",volume=" + ApiEntryPoint.Instance.GetEncodingOptions().DownMixAudioBoost.ToString(UsCulture);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -953,7 +954,7 @@ namespace MediaBrowser.Api.Playback
|
||||
var transcodingId = Guid.NewGuid().ToString("N");
|
||||
var commandLineArgs = GetCommandLineArguments(outputPath, transcodingId, state, true);
|
||||
|
||||
if (ServerConfigurationManager.Configuration.EnableDebugEncodingLogging)
|
||||
if (ApiEntryPoint.Instance.GetEncodingOptions().EnableDebugLogging)
|
||||
{
|
||||
commandLineArgs = "-loglevel debug " + commandLineArgs;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user