mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-03 12:52:56 +01:00
Make probesize and analyzeduration configurable and simplify circular
dependencies Makes the probesize and analyzeduration configurable with env args. (`JELLYFIN_FFmpeg_probesize` and `FFmpeg_analyzeduration`)
This commit is contained in:
@@ -69,8 +69,6 @@ namespace MediaBrowser.Api.Playback
|
||||
|
||||
protected IDeviceManager DeviceManager { get; private set; }
|
||||
|
||||
protected ISubtitleEncoder SubtitleEncoder { get; private set; }
|
||||
|
||||
protected IMediaSourceManager MediaSourceManager { get; private set; }
|
||||
|
||||
protected IJsonSerializer JsonSerializer { get; private set; }
|
||||
@@ -96,11 +94,11 @@ namespace MediaBrowser.Api.Playback
|
||||
IMediaEncoder mediaEncoder,
|
||||
IFileSystem fileSystem,
|
||||
IDlnaManager dlnaManager,
|
||||
ISubtitleEncoder subtitleEncoder,
|
||||
IDeviceManager deviceManager,
|
||||
IMediaSourceManager mediaSourceManager,
|
||||
IJsonSerializer jsonSerializer,
|
||||
IAuthorizationContext authorizationContext)
|
||||
IAuthorizationContext authorizationContext,
|
||||
EncodingHelper encodingHelper)
|
||||
{
|
||||
ServerConfigurationManager = serverConfig;
|
||||
UserManager = userManager;
|
||||
@@ -109,13 +107,12 @@ namespace MediaBrowser.Api.Playback
|
||||
MediaEncoder = mediaEncoder;
|
||||
FileSystem = fileSystem;
|
||||
DlnaManager = dlnaManager;
|
||||
SubtitleEncoder = subtitleEncoder;
|
||||
DeviceManager = deviceManager;
|
||||
MediaSourceManager = mediaSourceManager;
|
||||
JsonSerializer = jsonSerializer;
|
||||
AuthorizationContext = authorizationContext;
|
||||
|
||||
EncodingHelper = new EncodingHelper(MediaEncoder, FileSystem, SubtitleEncoder);
|
||||
EncodingHelper = encodingHelper;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -152,8 +149,6 @@ namespace MediaBrowser.Api.Playback
|
||||
return Path.Combine(folder, filename + ext);
|
||||
}
|
||||
|
||||
protected readonly CultureInfo UsCulture = new CultureInfo("en-US");
|
||||
|
||||
protected virtual string GetDefaultEncoderPreset()
|
||||
{
|
||||
return "superfast";
|
||||
|
||||
@@ -25,6 +25,34 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||
/// </summary>
|
||||
public abstract class BaseHlsService : BaseStreamingService
|
||||
{
|
||||
public BaseHlsService(
|
||||
IServerConfigurationManager serverConfig,
|
||||
IUserManager userManager,
|
||||
ILibraryManager libraryManager,
|
||||
IIsoManager isoManager,
|
||||
IMediaEncoder mediaEncoder,
|
||||
IFileSystem fileSystem,
|
||||
IDlnaManager dlnaManager,
|
||||
IDeviceManager deviceManager,
|
||||
IMediaSourceManager mediaSourceManager,
|
||||
IJsonSerializer jsonSerializer,
|
||||
IAuthorizationContext authorizationContext,
|
||||
EncodingHelper encodingHelper)
|
||||
: base(serverConfig,
|
||||
userManager,
|
||||
libraryManager,
|
||||
isoManager,
|
||||
mediaEncoder,
|
||||
fileSystem,
|
||||
dlnaManager,
|
||||
deviceManager,
|
||||
mediaSourceManager,
|
||||
jsonSerializer,
|
||||
authorizationContext,
|
||||
encodingHelper)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the audio arguments.
|
||||
/// </summary>
|
||||
@@ -313,33 +341,5 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
public BaseHlsService(
|
||||
IServerConfigurationManager serverConfig,
|
||||
IUserManager userManager,
|
||||
ILibraryManager libraryManager,
|
||||
IIsoManager isoManager,
|
||||
IMediaEncoder mediaEncoder,
|
||||
IFileSystem fileSystem,
|
||||
IDlnaManager dlnaManager,
|
||||
ISubtitleEncoder subtitleEncoder,
|
||||
IDeviceManager deviceManager,
|
||||
IMediaSourceManager mediaSourceManager,
|
||||
IJsonSerializer jsonSerializer,
|
||||
IAuthorizationContext authorizationContext)
|
||||
: base(serverConfig,
|
||||
userManager,
|
||||
libraryManager,
|
||||
isoManager,
|
||||
mediaEncoder,
|
||||
fileSystem,
|
||||
dlnaManager,
|
||||
subtitleEncoder,
|
||||
deviceManager,
|
||||
mediaSourceManager,
|
||||
jsonSerializer,
|
||||
authorizationContext)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,7 +94,6 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||
[Authenticated]
|
||||
public class DynamicHlsService : BaseHlsService
|
||||
{
|
||||
|
||||
public DynamicHlsService(
|
||||
IServerConfigurationManager serverConfig,
|
||||
IUserManager userManager,
|
||||
@@ -103,12 +102,12 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||
IMediaEncoder mediaEncoder,
|
||||
IFileSystem fileSystem,
|
||||
IDlnaManager dlnaManager,
|
||||
ISubtitleEncoder subtitleEncoder,
|
||||
IDeviceManager deviceManager,
|
||||
IMediaSourceManager mediaSourceManager,
|
||||
IJsonSerializer jsonSerializer,
|
||||
IAuthorizationContext authorizationContext,
|
||||
INetworkManager networkManager)
|
||||
INetworkManager networkManager,
|
||||
EncodingHelper encodingHelper)
|
||||
: base(serverConfig,
|
||||
userManager,
|
||||
libraryManager,
|
||||
@@ -116,11 +115,11 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||
mediaEncoder,
|
||||
fileSystem,
|
||||
dlnaManager,
|
||||
subtitleEncoder,
|
||||
deviceManager,
|
||||
mediaSourceManager,
|
||||
jsonSerializer,
|
||||
authorizationContext)
|
||||
authorizationContext,
|
||||
encodingHelper)
|
||||
{
|
||||
NetworkManager = networkManager;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,34 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||
[Authenticated]
|
||||
public class VideoHlsService : BaseHlsService
|
||||
{
|
||||
public VideoHlsService(
|
||||
IServerConfigurationManager serverConfig,
|
||||
IUserManager userManager,
|
||||
ILibraryManager libraryManager,
|
||||
IIsoManager isoManager,
|
||||
IMediaEncoder mediaEncoder,
|
||||
IFileSystem fileSystem,
|
||||
IDlnaManager dlnaManager,
|
||||
IDeviceManager deviceManager,
|
||||
IMediaSourceManager mediaSourceManager,
|
||||
IJsonSerializer jsonSerializer,
|
||||
IAuthorizationContext authorizationContext,
|
||||
EncodingHelper encodingHelper)
|
||||
: base(serverConfig,
|
||||
userManager,
|
||||
libraryManager,
|
||||
isoManager,
|
||||
mediaEncoder,
|
||||
fileSystem,
|
||||
dlnaManager,
|
||||
deviceManager,
|
||||
mediaSourceManager,
|
||||
jsonSerializer,
|
||||
authorizationContext,
|
||||
encodingHelper)
|
||||
{
|
||||
}
|
||||
|
||||
public Task<object> Get(GetLiveHlsStream request)
|
||||
{
|
||||
return ProcessRequestAsync(request, true);
|
||||
@@ -135,33 +163,5 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
public VideoHlsService(
|
||||
IServerConfigurationManager serverConfig,
|
||||
IUserManager userManager,
|
||||
ILibraryManager libraryManager,
|
||||
IIsoManager isoManager,
|
||||
IMediaEncoder mediaEncoder,
|
||||
IFileSystem fileSystem,
|
||||
IDlnaManager dlnaManager,
|
||||
ISubtitleEncoder subtitleEncoder,
|
||||
IDeviceManager deviceManager,
|
||||
IMediaSourceManager mediaSourceManager,
|
||||
IJsonSerializer jsonSerializer,
|
||||
IAuthorizationContext authorizationContext)
|
||||
: base(serverConfig,
|
||||
userManager,
|
||||
libraryManager,
|
||||
isoManager,
|
||||
mediaEncoder,
|
||||
fileSystem,
|
||||
dlnaManager,
|
||||
subtitleEncoder,
|
||||
deviceManager,
|
||||
mediaSourceManager,
|
||||
jsonSerializer,
|
||||
authorizationContext)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,11 +40,11 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
IMediaEncoder mediaEncoder,
|
||||
IFileSystem fileSystem,
|
||||
IDlnaManager dlnaManager,
|
||||
ISubtitleEncoder subtitleEncoder,
|
||||
IDeviceManager deviceManager,
|
||||
IMediaSourceManager mediaSourceManager,
|
||||
IJsonSerializer jsonSerializer,
|
||||
IAuthorizationContext authorizationContext)
|
||||
IAuthorizationContext authorizationContext,
|
||||
EncodingHelper encodingHelper)
|
||||
: base(httpClient,
|
||||
serverConfig,
|
||||
userManager,
|
||||
@@ -53,11 +53,11 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
mediaEncoder,
|
||||
fileSystem,
|
||||
dlnaManager,
|
||||
subtitleEncoder,
|
||||
deviceManager,
|
||||
mediaSourceManager,
|
||||
jsonSerializer,
|
||||
authorizationContext)
|
||||
authorizationContext,
|
||||
encodingHelper)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -35,23 +35,24 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
IMediaEncoder mediaEncoder,
|
||||
IFileSystem fileSystem,
|
||||
IDlnaManager dlnaManager,
|
||||
ISubtitleEncoder subtitleEncoder,
|
||||
IDeviceManager deviceManager,
|
||||
IMediaSourceManager mediaSourceManager,
|
||||
IJsonSerializer jsonSerializer,
|
||||
IAuthorizationContext authorizationContext)
|
||||
: base(serverConfig,
|
||||
IAuthorizationContext authorizationContext,
|
||||
EncodingHelper encodingHelper)
|
||||
: base(
|
||||
serverConfig,
|
||||
userManager,
|
||||
libraryManager,
|
||||
isoManager,
|
||||
mediaEncoder,
|
||||
fileSystem,
|
||||
dlnaManager,
|
||||
subtitleEncoder,
|
||||
deviceManager,
|
||||
mediaSourceManager,
|
||||
jsonSerializer,
|
||||
authorizationContext)
|
||||
authorizationContext,
|
||||
encodingHelper)
|
||||
{
|
||||
HttpClient = httpClient;
|
||||
}
|
||||
|
||||
@@ -77,11 +77,11 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
IMediaEncoder mediaEncoder,
|
||||
IFileSystem fileSystem,
|
||||
IDlnaManager dlnaManager,
|
||||
ISubtitleEncoder subtitleEncoder,
|
||||
IDeviceManager deviceManager,
|
||||
IMediaSourceManager mediaSourceManager,
|
||||
IJsonSerializer jsonSerializer,
|
||||
IAuthorizationContext authorizationContext)
|
||||
IAuthorizationContext authorizationContext,
|
||||
EncodingHelper encodingHelper)
|
||||
: base(httpClient,
|
||||
serverConfig,
|
||||
userManager,
|
||||
@@ -90,11 +90,11 @@ namespace MediaBrowser.Api.Playback.Progressive
|
||||
mediaEncoder,
|
||||
fileSystem,
|
||||
dlnaManager,
|
||||
subtitleEncoder,
|
||||
deviceManager,
|
||||
mediaSourceManager,
|
||||
jsonSerializer,
|
||||
authorizationContext)
|
||||
authorizationContext,
|
||||
encodingHelper)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Controller.Configuration;
|
||||
using MediaBrowser.Controller.Devices;
|
||||
using MediaBrowser.Controller.Dlna;
|
||||
using MediaBrowser.Controller.Drawing;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.MediaEncoding;
|
||||
using MediaBrowser.Controller.Net;
|
||||
@@ -75,6 +74,9 @@ namespace MediaBrowser.Api.Playback
|
||||
[Authenticated]
|
||||
public class UniversalAudioService : BaseApiService
|
||||
{
|
||||
private readonly ILoggerFactory _loggerFactory;
|
||||
private readonly EncodingHelper _encodingHelper;
|
||||
|
||||
public UniversalAudioService(
|
||||
IHttpClient httpClient,
|
||||
IServerConfigurationManager serverConfigurationManager,
|
||||
@@ -85,14 +87,12 @@ namespace MediaBrowser.Api.Playback
|
||||
IFileSystem fileSystem,
|
||||
IDlnaManager dlnaManager,
|
||||
IDeviceManager deviceManager,
|
||||
ISubtitleEncoder subtitleEncoder,
|
||||
IMediaSourceManager mediaSourceManager,
|
||||
IZipClient zipClient,
|
||||
IJsonSerializer jsonSerializer,
|
||||
IAuthorizationContext authorizationContext,
|
||||
IImageProcessor imageProcessor,
|
||||
INetworkManager networkManager,
|
||||
ILoggerFactory loggerFactory)
|
||||
ILoggerFactory loggerFactory,
|
||||
EncodingHelper encodingHelper)
|
||||
{
|
||||
HttpClient = httpClient;
|
||||
ServerConfigurationManager = serverConfigurationManager;
|
||||
@@ -103,15 +103,12 @@ namespace MediaBrowser.Api.Playback
|
||||
FileSystem = fileSystem;
|
||||
DlnaManager = dlnaManager;
|
||||
DeviceManager = deviceManager;
|
||||
SubtitleEncoder = subtitleEncoder;
|
||||
MediaSourceManager = mediaSourceManager;
|
||||
ZipClient = zipClient;
|
||||
JsonSerializer = jsonSerializer;
|
||||
AuthorizationContext = authorizationContext;
|
||||
ImageProcessor = imageProcessor;
|
||||
NetworkManager = networkManager;
|
||||
_loggerFactory = loggerFactory;
|
||||
_logger = loggerFactory.CreateLogger(nameof(UniversalAudioService));
|
||||
_encodingHelper = encodingHelper;
|
||||
}
|
||||
|
||||
protected IHttpClient HttpClient { get; private set; }
|
||||
@@ -123,15 +120,10 @@ namespace MediaBrowser.Api.Playback
|
||||
protected IFileSystem FileSystem { get; private set; }
|
||||
protected IDlnaManager DlnaManager { get; private set; }
|
||||
protected IDeviceManager DeviceManager { get; private set; }
|
||||
protected ISubtitleEncoder SubtitleEncoder { get; private set; }
|
||||
protected IMediaSourceManager MediaSourceManager { get; private set; }
|
||||
protected IZipClient ZipClient { get; private set; }
|
||||
protected IJsonSerializer JsonSerializer { get; private set; }
|
||||
protected IAuthorizationContext AuthorizationContext { get; private set; }
|
||||
protected IImageProcessor ImageProcessor { get; private set; }
|
||||
protected INetworkManager NetworkManager { get; private set; }
|
||||
private ILoggerFactory _loggerFactory;
|
||||
private ILogger _logger;
|
||||
|
||||
public Task<object> Get(GetUniversalAudioStream request)
|
||||
{
|
||||
@@ -242,7 +234,17 @@ namespace MediaBrowser.Api.Playback
|
||||
|
||||
AuthorizationContext.GetAuthorizationInfo(Request).DeviceId = request.DeviceId;
|
||||
|
||||
var mediaInfoService = new MediaInfoService(MediaSourceManager, DeviceManager, LibraryManager, ServerConfigurationManager, NetworkManager, MediaEncoder, UserManager, JsonSerializer, AuthorizationContext, _loggerFactory)
|
||||
var mediaInfoService = new MediaInfoService(
|
||||
MediaSourceManager,
|
||||
DeviceManager,
|
||||
LibraryManager,
|
||||
ServerConfigurationManager,
|
||||
NetworkManager,
|
||||
MediaEncoder,
|
||||
UserManager,
|
||||
JsonSerializer,
|
||||
AuthorizationContext,
|
||||
_loggerFactory)
|
||||
{
|
||||
Request = Request
|
||||
};
|
||||
@@ -276,19 +278,20 @@ namespace MediaBrowser.Api.Playback
|
||||
|
||||
if (!isStatic && string.Equals(mediaSource.TranscodingSubProtocol, "hls", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
var service = new DynamicHlsService(ServerConfigurationManager,
|
||||
UserManager,
|
||||
LibraryManager,
|
||||
IsoManager,
|
||||
MediaEncoder,
|
||||
FileSystem,
|
||||
DlnaManager,
|
||||
SubtitleEncoder,
|
||||
DeviceManager,
|
||||
MediaSourceManager,
|
||||
JsonSerializer,
|
||||
AuthorizationContext,
|
||||
NetworkManager)
|
||||
var service = new DynamicHlsService(
|
||||
ServerConfigurationManager,
|
||||
UserManager,
|
||||
LibraryManager,
|
||||
IsoManager,
|
||||
MediaEncoder,
|
||||
FileSystem,
|
||||
DlnaManager,
|
||||
DeviceManager,
|
||||
MediaSourceManager,
|
||||
JsonSerializer,
|
||||
AuthorizationContext,
|
||||
NetworkManager,
|
||||
_encodingHelper)
|
||||
{
|
||||
Request = Request
|
||||
};
|
||||
@@ -330,11 +333,11 @@ namespace MediaBrowser.Api.Playback
|
||||
MediaEncoder,
|
||||
FileSystem,
|
||||
DlnaManager,
|
||||
SubtitleEncoder,
|
||||
DeviceManager,
|
||||
MediaSourceManager,
|
||||
JsonSerializer,
|
||||
AuthorizationContext)
|
||||
AuthorizationContext,
|
||||
_encodingHelper)
|
||||
{
|
||||
Request = Request
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user