diff --git a/Jellyfin.Server.Implementations/Item/MediaStreamRepository.cs b/Jellyfin.Server.Implementations/Item/MediaStreamRepository.cs
index 797a932ef1..c6b9f9ddf9 100644
--- a/Jellyfin.Server.Implementations/Item/MediaStreamRepository.cs
+++ b/Jellyfin.Server.Implementations/Item/MediaStreamRepository.cs
@@ -13,17 +13,31 @@ using Microsoft.EntityFrameworkCore;
namespace Jellyfin.Server.Implementations.Item;
///
-/// Initializes a new instance of the class.
+/// Repository for obtaining MediaStreams.
///
-/// The EFCore db factory.
-/// The Application host.
-/// The Localisation Provider.
-public class MediaStreamRepository(IDbContextFactory dbProvider, IServerApplicationHost serverApplicationHost, ILocalizationManager localization) : IMediaStreamRepository
+public class MediaStreamRepository : IMediaStreamRepository
{
+ private readonly IDbContextFactory _dbProvider;
+ private readonly IServerApplicationHost _serverApplicationHost;
+ private readonly ILocalizationManager _localization;
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The EFCore db factory.
+ /// The Application host.
+ /// The Localisation Provider.
+ public MediaStreamRepository(IDbContextFactory dbProvider, IServerApplicationHost serverApplicationHost, ILocalizationManager localization)
+ {
+ _dbProvider = dbProvider;
+ _serverApplicationHost = serverApplicationHost;
+ _localization = localization;
+ }
+
///
public void SaveMediaStreams(Guid id, IReadOnlyList streams, CancellationToken cancellationToken)
{
- using var context = dbProvider.CreateDbContext();
+ using var context = _dbProvider.CreateDbContext();
using var transaction = context.Database.BeginTransaction();
context.MediaStreamInfos.Where(e => e.ItemId.Equals(id)).ExecuteDelete();
@@ -36,7 +50,7 @@ public class MediaStreamRepository(IDbContextFactory dbProvid
///
public IReadOnlyList GetMediaStreams(MediaStreamQuery filter)
{
- using var context = dbProvider.CreateDbContext();
+ using var context = _dbProvider.CreateDbContext();
return TranslateQuery(context.MediaStreamInfos.AsNoTracking(), filter).AsEnumerable().Select(Map).ToImmutableArray();
}
@@ -47,7 +61,7 @@ public class MediaStreamRepository(IDbContextFactory dbProvid
return null;
}
- return serverApplicationHost.ReverseVirtualPath(path);
+ return _serverApplicationHost.ReverseVirtualPath(path);
}
private string? RestorePath(string? path)
@@ -57,7 +71,7 @@ public class MediaStreamRepository(IDbContextFactory dbProvid
return null;
}
- return serverApplicationHost.ExpandVirtualPath(path);
+ return _serverApplicationHost.ExpandVirtualPath(path);
}
private IQueryable TranslateQuery(IQueryable query, MediaStreamQuery filter)
@@ -131,14 +145,14 @@ public class MediaStreamRepository(IDbContextFactory dbProvid
if (dto.Type is MediaStreamType.Audio or MediaStreamType.Subtitle)
{
- dto.LocalizedDefault = localization.GetLocalizedString("Default");
- dto.LocalizedExternal = localization.GetLocalizedString("External");
+ dto.LocalizedDefault = _localization.GetLocalizedString("Default");
+ dto.LocalizedExternal = _localization.GetLocalizedString("External");
if (dto.Type is MediaStreamType.Subtitle)
{
- dto.LocalizedUndefined = localization.GetLocalizedString("Undefined");
- dto.LocalizedForced = localization.GetLocalizedString("Forced");
- dto.LocalizedHearingImpaired = localization.GetLocalizedString("HearingImpaired");
+ dto.LocalizedUndefined = _localization.GetLocalizedString("Undefined");
+ dto.LocalizedForced = _localization.GetLocalizedString("Forced");
+ dto.LocalizedHearingImpaired = _localization.GetLocalizedString("HearingImpaired");
}
}