aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Playback
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Api/Playback')
-rw-r--r--MediaBrowser.Api/Playback/BaseStreamingService.cs14
-rw-r--r--MediaBrowser.Api/Playback/Hls/BaseHlsService.cs32
-rw-r--r--MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs9
-rw-r--r--MediaBrowser.Api/Playback/Hls/HlsSegmentService.cs17
-rw-r--r--MediaBrowser.Api/Playback/Hls/VideoHlsService.cs32
-rw-r--r--MediaBrowser.Api/Playback/MediaInfoService.cs16
-rw-r--r--MediaBrowser.Api/Playback/Progressive/AudioService.cs34
-rw-r--r--MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs9
-rw-r--r--MediaBrowser.Api/Playback/Progressive/VideoService.cs12
-rw-r--r--MediaBrowser.Api/Playback/UniversalAudioService.cs24
10 files changed, 118 insertions, 81 deletions
diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs
index d554930ac..1c83e1cbb 100644
--- a/MediaBrowser.Api/Playback/BaseStreamingService.cs
+++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs
@@ -34,12 +34,6 @@ namespace MediaBrowser.Api.Playback
protected virtual bool EnableOutputInSubFolder => false;
/// <summary>
- /// Gets or sets the application paths.
- /// </summary>
- /// <value>The application paths.</value>
- protected IServerConfigurationManager ServerConfigurationManager { get; private set; }
-
- /// <summary>
/// Gets or sets the user manager.
/// </summary>
/// <value>The user manager.</value>
@@ -87,7 +81,9 @@ namespace MediaBrowser.Api.Playback
/// Initializes a new instance of the <see cref="BaseStreamingService" /> class.
/// </summary>
protected BaseStreamingService(
- IServerConfigurationManager serverConfig,
+ ILogger logger,
+ IServerConfigurationManager serverConfigurationManager,
+ IHttpResultFactory httpResultFactory,
IUserManager userManager,
ILibraryManager libraryManager,
IIsoManager isoManager,
@@ -99,8 +95,8 @@ namespace MediaBrowser.Api.Playback
IJsonSerializer jsonSerializer,
IAuthorizationContext authorizationContext,
EncodingHelper encodingHelper)
+ : base(logger, serverConfigurationManager, httpResultFactory)
{
- ServerConfigurationManager = serverConfig;
UserManager = userManager;
LibraryManager = libraryManager;
IsoManager = isoManager;
@@ -583,7 +579,7 @@ namespace MediaBrowser.Api.Playback
}
/// <summary>
- /// Parses query parameters as StreamOptions
+ /// Parses query parameters as StreamOptions.
/// </summary>
/// <param name="request">The stream request.</param>
private void ParseStreamOptions(StreamRequest request)
diff --git a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs
index 390e85d08..5d0dc98dd 100644
--- a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs
+++ b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs
@@ -12,7 +12,6 @@ using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Controller.Net;
using MediaBrowser.Model.Configuration;
-using MediaBrowser.Model.Extensions;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Net;
using MediaBrowser.Model.Serialization;
@@ -26,7 +25,9 @@ namespace MediaBrowser.Api.Playback.Hls
public abstract class BaseHlsService : BaseStreamingService
{
public BaseHlsService(
- IServerConfigurationManager serverConfig,
+ ILogger logger,
+ IServerConfigurationManager serverConfigurationManager,
+ IHttpResultFactory httpResultFactory,
IUserManager userManager,
ILibraryManager libraryManager,
IIsoManager isoManager,
@@ -38,18 +39,21 @@ namespace MediaBrowser.Api.Playback.Hls
IJsonSerializer jsonSerializer,
IAuthorizationContext authorizationContext,
EncodingHelper encodingHelper)
- : base(serverConfig,
- userManager,
- libraryManager,
- isoManager,
- mediaEncoder,
- fileSystem,
- dlnaManager,
- deviceManager,
- mediaSourceManager,
- jsonSerializer,
- authorizationContext,
- encodingHelper)
+ : base(
+ logger,
+ serverConfigurationManager,
+ httpResultFactory,
+ userManager,
+ libraryManager,
+ isoManager,
+ mediaEncoder,
+ fileSystem,
+ dlnaManager,
+ deviceManager,
+ mediaSourceManager,
+ jsonSerializer,
+ authorizationContext,
+ encodingHelper)
{
}
diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs
index 60a1f6899..43e7ea373 100644
--- a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs
+++ b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs
@@ -95,7 +95,9 @@ namespace MediaBrowser.Api.Playback.Hls
public class DynamicHlsService : BaseHlsService
{
public DynamicHlsService(
- IServerConfigurationManager serverConfig,
+ ILogger logger,
+ IServerConfigurationManager serverConfigurationManager,
+ IHttpResultFactory httpResultFactory,
IUserManager userManager,
ILibraryManager libraryManager,
IIsoManager isoManager,
@@ -108,7 +110,10 @@ namespace MediaBrowser.Api.Playback.Hls
IAuthorizationContext authorizationContext,
INetworkManager networkManager,
EncodingHelper encodingHelper)
- : base(serverConfig,
+ : base(
+ logger,
+ serverConfigurationManager,
+ httpResultFactory,
userManager,
libraryManager,
isoManager,
diff --git a/MediaBrowser.Api/Playback/Hls/HlsSegmentService.cs b/MediaBrowser.Api/Playback/Hls/HlsSegmentService.cs
index ca5a73ff1..bb12ab1f0 100644
--- a/MediaBrowser.Api/Playback/Hls/HlsSegmentService.cs
+++ b/MediaBrowser.Api/Playback/Hls/HlsSegmentService.cs
@@ -8,6 +8,7 @@ using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Controller.Net;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Services;
+using Microsoft.Extensions.Logging;
namespace MediaBrowser.Api.Playback.Hls
{
@@ -83,19 +84,22 @@ namespace MediaBrowser.Api.Playback.Hls
public class HlsSegmentService : BaseApiService
{
- private readonly IServerConfigurationManager _config;
private readonly IFileSystem _fileSystem;
- public HlsSegmentService(IServerConfigurationManager config, IFileSystem fileSystem)
+ public HlsSegmentService(
+ ILogger<HlsSegmentService> logger,
+ IServerConfigurationManager serverConfigurationManager,
+ IHttpResultFactory httpResultFactory,
+ IFileSystem fileSystem)
+ : base(logger, serverConfigurationManager, httpResultFactory)
{
- _config = config;
_fileSystem = fileSystem;
}
public Task<object> Get(GetHlsPlaylistLegacy request)
{
var file = request.PlaylistId + Path.GetExtension(Request.PathInfo);
- file = Path.Combine(_config.GetTranscodePath(), file);
+ file = Path.Combine(ServerConfigurationManager.GetTranscodePath(), file);
return GetFileResult(file, file);
}
@@ -113,7 +117,8 @@ namespace MediaBrowser.Api.Playback.Hls
public Task<object> Get(GetHlsVideoSegmentLegacy request)
{
var file = request.SegmentId + Path.GetExtension(Request.PathInfo);
- var transcodeFolderPath = _config.GetTranscodePath();
+ var transcodeFolderPath = ServerConfigurationManager.GetTranscodePath();
+
file = Path.Combine(transcodeFolderPath, file);
var normalizedPlaylistId = request.PlaylistId;
@@ -133,7 +138,7 @@ namespace MediaBrowser.Api.Playback.Hls
{
// TODO: Deprecate with new iOS app
var file = request.SegmentId + Path.GetExtension(Request.PathInfo);
- file = Path.Combine(_config.GetTranscodePath(), file);
+ file = Path.Combine(ServerConfigurationManager.GetTranscodePath(), file);
return ResultFactory.GetStaticFileResult(Request, file, FileShareMode.ReadWrite);
}
diff --git a/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs b/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs
index cada7138c..d1c53c1c1 100644
--- a/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs
+++ b/MediaBrowser.Api/Playback/Hls/VideoHlsService.cs
@@ -12,6 +12,7 @@ using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Services;
+using Microsoft.Extensions.Logging;
namespace MediaBrowser.Api.Playback.Hls
{
@@ -27,7 +28,9 @@ namespace MediaBrowser.Api.Playback.Hls
public class VideoHlsService : BaseHlsService
{
public VideoHlsService(
- IServerConfigurationManager serverConfig,
+ ILogger<VideoHlsService> logger,
+ IServerConfigurationManager serverConfigurationManager,
+ IHttpResultFactory httpResultFactory,
IUserManager userManager,
ILibraryManager libraryManager,
IIsoManager isoManager,
@@ -39,18 +42,21 @@ namespace MediaBrowser.Api.Playback.Hls
IJsonSerializer jsonSerializer,
IAuthorizationContext authorizationContext,
EncodingHelper encodingHelper)
- : base(serverConfig,
- userManager,
- libraryManager,
- isoManager,
- mediaEncoder,
- fileSystem,
- dlnaManager,
- deviceManager,
- mediaSourceManager,
- jsonSerializer,
- authorizationContext,
- encodingHelper)
+ : base(
+ logger,
+ serverConfigurationManager,
+ httpResultFactory,
+ userManager,
+ libraryManager,
+ isoManager,
+ mediaEncoder,
+ fileSystem,
+ dlnaManager,
+ deviceManager,
+ mediaSourceManager,
+ jsonSerializer,
+ authorizationContext,
+ encodingHelper)
{
}
diff --git a/MediaBrowser.Api/Playback/MediaInfoService.cs b/MediaBrowser.Api/Playback/MediaInfoService.cs
index da8f99a3d..c3032416b 100644
--- a/MediaBrowser.Api/Playback/MediaInfoService.cs
+++ b/MediaBrowser.Api/Playback/MediaInfoService.cs
@@ -69,36 +69,34 @@ namespace MediaBrowser.Api.Playback
private readonly IMediaSourceManager _mediaSourceManager;
private readonly IDeviceManager _deviceManager;
private readonly ILibraryManager _libraryManager;
- private readonly IServerConfigurationManager _config;
private readonly INetworkManager _networkManager;
private readonly IMediaEncoder _mediaEncoder;
private readonly IUserManager _userManager;
private readonly IJsonSerializer _json;
private readonly IAuthorizationContext _authContext;
- private readonly ILogger _logger;
public MediaInfoService(
+ ILogger logger,
+ IServerConfigurationManager serverConfigurationManager,
+ IHttpResultFactory httpResultFactory,
IMediaSourceManager mediaSourceManager,
IDeviceManager deviceManager,
ILibraryManager libraryManager,
- IServerConfigurationManager config,
INetworkManager networkManager,
IMediaEncoder mediaEncoder,
IUserManager userManager,
IJsonSerializer json,
- IAuthorizationContext authContext,
- ILoggerFactory loggerFactory)
+ IAuthorizationContext authContext)
+ : base(logger, serverConfigurationManager, httpResultFactory)
{
_mediaSourceManager = mediaSourceManager;
_deviceManager = deviceManager;
_libraryManager = libraryManager;
- _config = config;
_networkManager = networkManager;
_mediaEncoder = mediaEncoder;
_userManager = userManager;
_json = json;
_authContext = authContext;
- _logger = loggerFactory.CreateLogger(nameof(MediaInfoService));
}
public object Get(GetBitrateTestBytes request)
@@ -275,7 +273,7 @@ namespace MediaBrowser.Api.Playback
catch (Exception ex)
{
mediaSources = new List<MediaSourceInfo>();
- _logger.LogError(ex, "Could not find media sources for item id {id}", id);
+ Logger.LogError(ex, "Could not find media sources for item id {id}", id);
// TODO PlaybackException ??
//result.ErrorCode = ex.ErrorCode;
}
@@ -533,7 +531,7 @@ namespace MediaBrowser.Api.Playback
if (remoteClientMaxBitrate <= 0)
{
- remoteClientMaxBitrate = _config.Configuration.RemoteClientBitrateLimit;
+ remoteClientMaxBitrate = ServerConfigurationManager.Configuration.RemoteClientBitrateLimit;
}
if (remoteClientMaxBitrate > 0)
diff --git a/MediaBrowser.Api/Playback/Progressive/AudioService.cs b/MediaBrowser.Api/Playback/Progressive/AudioService.cs
index 5679a4e17..8d1e3a3f2 100644
--- a/MediaBrowser.Api/Playback/Progressive/AudioService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/AudioService.cs
@@ -10,6 +10,7 @@ using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Services;
+using Microsoft.Extensions.Logging;
namespace MediaBrowser.Api.Playback.Progressive
{
@@ -32,8 +33,10 @@ namespace MediaBrowser.Api.Playback.Progressive
public class AudioService : BaseProgressiveStreamingService
{
public AudioService(
+ ILogger logger,
+ IServerConfigurationManager serverConfigurationManager,
+ IHttpResultFactory httpResultFactory,
IHttpClient httpClient,
- IServerConfigurationManager serverConfig,
IUserManager userManager,
ILibraryManager libraryManager,
IIsoManager isoManager,
@@ -45,19 +48,22 @@ namespace MediaBrowser.Api.Playback.Progressive
IJsonSerializer jsonSerializer,
IAuthorizationContext authorizationContext,
EncodingHelper encodingHelper)
- : base(httpClient,
- serverConfig,
- userManager,
- libraryManager,
- isoManager,
- mediaEncoder,
- fileSystem,
- dlnaManager,
- deviceManager,
- mediaSourceManager,
- jsonSerializer,
- authorizationContext,
- encodingHelper)
+ : base(
+ logger,
+ serverConfigurationManager,
+ httpResultFactory,
+ httpClient,
+ userManager,
+ libraryManager,
+ isoManager,
+ mediaEncoder,
+ fileSystem,
+ dlnaManager,
+ deviceManager,
+ mediaSourceManager,
+ jsonSerializer,
+ authorizationContext,
+ encodingHelper)
{
}
diff --git a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
index ee7b99c2a..ed30dbba6 100644
--- a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
@@ -15,6 +15,7 @@ using MediaBrowser.Model.IO;
using MediaBrowser.Model.MediaInfo;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Services;
+using Microsoft.Extensions.Logging;
using Microsoft.Net.Http.Headers;
namespace MediaBrowser.Api.Playback.Progressive
@@ -27,8 +28,10 @@ namespace MediaBrowser.Api.Playback.Progressive
protected IHttpClient HttpClient { get; private set; }
public BaseProgressiveStreamingService(
+ ILogger logger,
+ IServerConfigurationManager serverConfigurationManager,
+ IHttpResultFactory httpResultFactory,
IHttpClient httpClient,
- IServerConfigurationManager serverConfig,
IUserManager userManager,
ILibraryManager libraryManager,
IIsoManager isoManager,
@@ -41,7 +44,9 @@ namespace MediaBrowser.Api.Playback.Progressive
IAuthorizationContext authorizationContext,
EncodingHelper encodingHelper)
: base(
- serverConfig,
+ logger,
+ serverConfigurationManager,
+ httpResultFactory,
userManager,
libraryManager,
isoManager,
diff --git a/MediaBrowser.Api/Playback/Progressive/VideoService.cs b/MediaBrowser.Api/Playback/Progressive/VideoService.cs
index 976e11b47..4de81655c 100644
--- a/MediaBrowser.Api/Playback/Progressive/VideoService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/VideoService.cs
@@ -10,6 +10,7 @@ using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Serialization;
using MediaBrowser.Model.Services;
+using Microsoft.Extensions.Logging;
namespace MediaBrowser.Api.Playback.Progressive
{
@@ -69,8 +70,10 @@ namespace MediaBrowser.Api.Playback.Progressive
public class VideoService : BaseProgressiveStreamingService
{
public VideoService(
+ ILogger<VideoService> logger,
+ IServerConfigurationManager serverConfigurationManager,
+ IHttpResultFactory httpResultFactory,
IHttpClient httpClient,
- IServerConfigurationManager serverConfig,
IUserManager userManager,
ILibraryManager libraryManager,
IIsoManager isoManager,
@@ -82,8 +85,11 @@ namespace MediaBrowser.Api.Playback.Progressive
IJsonSerializer jsonSerializer,
IAuthorizationContext authorizationContext,
EncodingHelper encodingHelper)
- : base(httpClient,
- serverConfig,
+ : base(
+ logger,
+ serverConfigurationManager,
+ httpResultFactory,
+ httpClient,
userManager,
libraryManager,
isoManager,
diff --git a/MediaBrowser.Api/Playback/UniversalAudioService.cs b/MediaBrowser.Api/Playback/UniversalAudioService.cs
index 70c0f4b01..9cba9df13 100644
--- a/MediaBrowser.Api/Playback/UniversalAudioService.cs
+++ b/MediaBrowser.Api/Playback/UniversalAudioService.cs
@@ -78,8 +78,10 @@ namespace MediaBrowser.Api.Playback
private readonly EncodingHelper _encodingHelper;
public UniversalAudioService(
- IHttpClient httpClient,
+ ILogger<UniversalAudioService> logger,
IServerConfigurationManager serverConfigurationManager,
+ IHttpResultFactory httpResultFactory,
+ IHttpClient httpClient,
IUserManager userManager,
ILibraryManager libraryManager,
IIsoManager isoManager,
@@ -91,11 +93,10 @@ namespace MediaBrowser.Api.Playback
IJsonSerializer jsonSerializer,
IAuthorizationContext authorizationContext,
INetworkManager networkManager,
- ILoggerFactory loggerFactory,
EncodingHelper encodingHelper)
+ : base(logger, serverConfigurationManager, httpResultFactory)
{
HttpClient = httpClient;
- ServerConfigurationManager = serverConfigurationManager;
UserManager = userManager;
LibraryManager = libraryManager;
IsoManager = isoManager;
@@ -107,12 +108,10 @@ namespace MediaBrowser.Api.Playback
JsonSerializer = jsonSerializer;
AuthorizationContext = authorizationContext;
NetworkManager = networkManager;
- _loggerFactory = loggerFactory;
_encodingHelper = encodingHelper;
}
protected IHttpClient HttpClient { get; private set; }
- protected IServerConfigurationManager ServerConfigurationManager { get; private set; }
protected IUserManager UserManager { get; private set; }
protected ILibraryManager LibraryManager { get; private set; }
protected IIsoManager IsoManager { get; private set; }
@@ -235,16 +234,17 @@ namespace MediaBrowser.Api.Playback
AuthorizationContext.GetAuthorizationInfo(Request).DeviceId = request.DeviceId;
var mediaInfoService = new MediaInfoService(
+ Logger,
+ ServerConfigurationManager,
+ ResultFactory,
MediaSourceManager,
DeviceManager,
LibraryManager,
- ServerConfigurationManager,
NetworkManager,
MediaEncoder,
UserManager,
JsonSerializer,
- AuthorizationContext,
- _loggerFactory)
+ AuthorizationContext)
{
Request = Request
};
@@ -279,7 +279,9 @@ namespace MediaBrowser.Api.Playback
if (!isStatic && string.Equals(mediaSource.TranscodingSubProtocol, "hls", StringComparison.OrdinalIgnoreCase))
{
var service = new DynamicHlsService(
+ Logger,
ServerConfigurationManager,
+ ResultFactory,
UserManager,
LibraryManager,
IsoManager,
@@ -325,8 +327,11 @@ namespace MediaBrowser.Api.Playback
}
else
{
- var service = new AudioService(HttpClient,
+ var service = new AudioService(
+ Logger,
ServerConfigurationManager,
+ ResultFactory,
+ HttpClient,
UserManager,
LibraryManager,
IsoManager,
@@ -363,6 +368,7 @@ namespace MediaBrowser.Api.Playback
{
return await service.Head(newRequest).ConfigureAwait(false);
}
+
return await service.Get(newRequest).ConfigureAwait(false);
}
}