Explorar o código

Merge pull request #6651 from KonH/fix_common_warnings

Bond-009 %!s(int64=3) %!d(string=hai) anos
pai
achega
9718c0b2ee
Modificáronse 41 ficheiros con 43 adicións e 71 borrados
  1. 2 2
      Jellyfin.Api/Auth/SyncPlayAccessPolicy/SyncPlayAccessHandler.cs
  2. 1 1
      Jellyfin.Api/Controllers/DashboardController.cs
  3. 1 1
      Jellyfin.Api/Controllers/DisplayPreferencesController.cs
  4. 1 1
      Jellyfin.Api/Controllers/DynamicHlsController.cs
  5. 2 2
      Jellyfin.Api/Controllers/HlsSegmentController.cs
  6. 7 7
      Jellyfin.Api/Controllers/InstantMixController.cs
  7. 2 2
      Jellyfin.Api/Controllers/ItemUpdateController.cs
  8. 1 1
      Jellyfin.Api/Controllers/ItemsController.cs
  9. 1 1
      Jellyfin.Api/Controllers/MediaInfoController.cs
  10. 4 4
      Jellyfin.Api/Controllers/TvShowsController.cs
  11. 1 1
      Jellyfin.Api/Controllers/UniversalAudioController.cs
  12. 1 1
      Jellyfin.Api/Controllers/VideosController.cs
  13. 1 1
      Jellyfin.Api/Helpers/AudioHelper.cs
  14. 1 1
      Jellyfin.Api/Helpers/ClaimHelpers.cs
  15. 4 4
      Jellyfin.Api/Helpers/TranscodingJobHelper.cs
  16. 1 1
      Jellyfin.Api/Models/StreamingDtos/StreamState.cs
  17. 1 1
      Jellyfin.Server.Implementations/Security/AuthorizationContext.cs
  18. 0 1
      Jellyfin.Server/Infrastructure/SymlinkFollowingPhysicalFileResultExecutor.cs
  19. 0 1
      Jellyfin.Server/Middleware/UrlDecodeQueryFeature.cs
  20. 1 1
      Jellyfin.Server/Migrations/Routines/MigrateDisplayPreferencesDb.cs
  21. 3 3
      Jellyfin.Server/Program.cs
  22. 1 1
      MediaBrowser.Controller/Entities/BaseItem.cs
  23. 1 1
      MediaBrowser.Controller/Entities/BaseItemExtensions.cs
  24. 1 1
      MediaBrowser.MediaEncoding/BdInfo/BdInfoDirectoryInfo.cs
  25. 0 1
      MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs
  26. 1 1
      MediaBrowser.Model/Dlna/StreamBuilder.cs
  27. 0 1
      MediaBrowser.Model/Globalization/ILocalizationManager.cs
  28. 0 1
      MediaBrowser.Model/IO/AsyncFile.cs
  29. 0 1
      MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetImageProvider.cs
  30. 0 1
      MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonImageProvider.cs
  31. 1 1
      RSSDP/SsdpCommunicationsServer.cs
  32. 1 1
      RSSDP/SsdpDeviceLocator.cs
  33. 0 1
      tests/Jellyfin.Api.Tests/Controllers/DynamicHlsControllerTests.cs
  34. 0 2
      tests/Jellyfin.MediaEncoding.Tests/EncoderValidatorTests.cs
  35. 0 12
      tests/Jellyfin.MediaEncoding.Tests/Subtitles/SubtitleEncoderTests.cs
  36. 0 1
      tests/Jellyfin.Model.Tests/Entities/MediaStreamTests.cs
  37. 0 1
      tests/Jellyfin.Naming.Tests/AudioBook/AudioBookResolverTests.cs
  38. 0 1
      tests/Jellyfin.Naming.Tests/Video/VideoResolverTests.cs
  39. 1 1
      tests/Jellyfin.Networking.Tests/NetworkParseTests.cs
  40. 0 1
      tests/Jellyfin.Server.Implementations.Tests/LiveTv/RecordingHelperTests.cs
  41. 0 2
      tests/Jellyfin.Server.Implementations.Tests/Sorting/AiredEpisodeOrderComparerTests.cs

+ 2 - 2
Jellyfin.Api/Auth/SyncPlayAccessPolicy/SyncPlayAccessHandler.cs

@@ -51,7 +51,7 @@ namespace Jellyfin.Api.Auth.SyncPlayAccessPolicy
             {
                 if (user.SyncPlayAccess == SyncPlayUserAccessType.CreateAndJoinGroups
                     || user.SyncPlayAccess == SyncPlayUserAccessType.JoinGroups
-                    || _syncPlayManager.IsUserActive(userId!.Value))
+                    || _syncPlayManager.IsUserActive(userId.Value))
                 {
                     context.Succeed(requirement);
                 }
@@ -85,7 +85,7 @@ namespace Jellyfin.Api.Auth.SyncPlayAccessPolicy
             }
             else if (requirement.RequiredAccess == SyncPlayAccessRequirementType.IsInGroup)
             {
-                if (_syncPlayManager.IsUserActive(userId!.Value))
+                if (_syncPlayManager.IsUserActive(userId.Value))
                 {
                     context.Succeed(requirement);
                 }

+ 1 - 1
Jellyfin.Api/Controllers/DashboardController.cs

@@ -53,7 +53,7 @@ namespace Jellyfin.Api.Controllers
 
             if (enableInMainMenu.HasValue)
             {
-                configPages = configPages.Where(p => p!.EnableInMainMenu == enableInMainMenu.Value).ToList();
+                configPages = configPages.Where(p => p.EnableInMainMenu == enableInMainMenu.Value).ToList();
             }
 
             return configPages;

+ 1 - 1
Jellyfin.Api/Controllers/DisplayPreferencesController.cs

@@ -137,7 +137,7 @@ namespace Jellyfin.Api.Controllers
             }
 
             var existingDisplayPreferences = _displayPreferencesManager.GetDisplayPreferences(userId, itemId, client);
-            existingDisplayPreferences.IndexBy = Enum.TryParse<IndexingKind>(displayPreferences.IndexBy, true, out var indexBy) ? indexBy : (IndexingKind?)null;
+            existingDisplayPreferences.IndexBy = Enum.TryParse<IndexingKind>(displayPreferences.IndexBy, true, out var indexBy) ? indexBy : null;
             existingDisplayPreferences.ShowBackdrop = displayPreferences.ShowBackdrop;
             existingDisplayPreferences.ShowSidebar = displayPreferences.ShowSidebar;
 

+ 1 - 1
Jellyfin.Api/Controllers/DynamicHlsController.cs

@@ -1709,7 +1709,7 @@ namespace Jellyfin.Api.Controllers
                 return Task.CompletedTask;
             });
 
-            return FileStreamResponseHelpers.GetStaticFileResult(segmentPath, MimeTypes.GetMimeType(segmentPath)!, false, HttpContext);
+            return FileStreamResponseHelpers.GetStaticFileResult(segmentPath, MimeTypes.GetMimeType(segmentPath), false, HttpContext);
         }
 
         private long GetEndPositionTicks(StreamState state, int requestedIndex)

+ 2 - 2
Jellyfin.Api/Controllers/HlsSegmentController.cs

@@ -69,7 +69,7 @@ namespace Jellyfin.Api.Controllers
                 return BadRequest("Invalid segment.");
             }
 
-            return FileStreamResponseHelpers.GetStaticFileResult(file, MimeTypes.GetMimeType(file)!, false, HttpContext);
+            return FileStreamResponseHelpers.GetStaticFileResult(file, MimeTypes.GetMimeType(file), false, HttpContext);
         }
 
         /// <summary>
@@ -186,7 +186,7 @@ namespace Jellyfin.Api.Controllers
                 return Task.CompletedTask;
             });
 
-            return FileStreamResponseHelpers.GetStaticFileResult(path, MimeTypes.GetMimeType(path)!, false, HttpContext);
+            return FileStreamResponseHelpers.GetStaticFileResult(path, MimeTypes.GetMimeType(path), false, HttpContext);
         }
     }
 }

+ 7 - 7
Jellyfin.Api/Controllers/InstantMixController.cs

@@ -80,7 +80,7 @@ namespace Jellyfin.Api.Controllers
                 : null;
             var dtoOptions = new DtoOptions { Fields = fields }
                 .AddClientFields(Request)
-                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes!);
+                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes);
             var items = _musicManager.GetInstantMixFromItem(item, user, dtoOptions);
             return GetResult(items, user, limit, dtoOptions);
         }
@@ -116,7 +116,7 @@ namespace Jellyfin.Api.Controllers
                 : null;
             var dtoOptions = new DtoOptions { Fields = fields }
                 .AddClientFields(Request)
-                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes!);
+                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes);
             var items = _musicManager.GetInstantMixFromItem(album, user, dtoOptions);
             return GetResult(items, user, limit, dtoOptions);
         }
@@ -152,7 +152,7 @@ namespace Jellyfin.Api.Controllers
                 : null;
             var dtoOptions = new DtoOptions { Fields = fields }
                 .AddClientFields(Request)
-                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes!);
+                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes);
             var items = _musicManager.GetInstantMixFromItem(playlist, user, dtoOptions);
             return GetResult(items, user, limit, dtoOptions);
         }
@@ -187,7 +187,7 @@ namespace Jellyfin.Api.Controllers
                 : null;
             var dtoOptions = new DtoOptions { Fields = fields }
                 .AddClientFields(Request)
-                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes!);
+                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes);
             var items = _musicManager.GetInstantMixFromGenres(new[] { name }, user, dtoOptions);
             return GetResult(items, user, limit, dtoOptions);
         }
@@ -223,7 +223,7 @@ namespace Jellyfin.Api.Controllers
                 : null;
             var dtoOptions = new DtoOptions { Fields = fields }
                 .AddClientFields(Request)
-                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes!);
+                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes);
             var items = _musicManager.GetInstantMixFromItem(item, user, dtoOptions);
             return GetResult(items, user, limit, dtoOptions);
         }
@@ -259,7 +259,7 @@ namespace Jellyfin.Api.Controllers
                 : null;
             var dtoOptions = new DtoOptions { Fields = fields }
                 .AddClientFields(Request)
-                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes!);
+                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes);
             var items = _musicManager.GetInstantMixFromItem(item, user, dtoOptions);
             return GetResult(items, user, limit, dtoOptions);
         }
@@ -332,7 +332,7 @@ namespace Jellyfin.Api.Controllers
                 : null;
             var dtoOptions = new DtoOptions { Fields = fields }
                 .AddClientFields(Request)
-                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes!);
+                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes);
             var items = _musicManager.GetInstantMixFromItem(item, user, dtoOptions);
             return GetResult(items, user, limit, dtoOptions);
         }

+ 2 - 2
Jellyfin.Api/Controllers/ItemUpdateController.cs

@@ -263,8 +263,8 @@ namespace Jellyfin.Api.Controllers
                 item.DateCreated = NormalizeDateTime(request.DateCreated.Value);
             }
 
-            item.EndDate = request.EndDate.HasValue ? NormalizeDateTime(request.EndDate.Value) : (DateTime?)null;
-            item.PremiereDate = request.PremiereDate.HasValue ? NormalizeDateTime(request.PremiereDate.Value) : (DateTime?)null;
+            item.EndDate = request.EndDate.HasValue ? NormalizeDateTime(request.EndDate.Value) : null;
+            item.PremiereDate = request.PremiereDate.HasValue ? NormalizeDateTime(request.PremiereDate.Value) : null;
             item.ProductionYear = request.ProductionYear;
             item.OfficialRating = string.IsNullOrWhiteSpace(request.OfficialRating) ? null : request.OfficialRating;
             item.CustomRating = request.CustomRating;

+ 1 - 1
Jellyfin.Api/Controllers/ItemsController.cs

@@ -287,7 +287,7 @@ namespace Jellyfin.Api.Controllers
 
             if ((recursive.HasValue && recursive.Value) || ids.Length != 0 || item is not UserRootFolder)
             {
-                var query = new InternalItemsQuery(user!)
+                var query = new InternalItemsQuery(user)
                 {
                     IsPlayed = isPlayed,
                     MediaTypes = mediaTypes,

+ 1 - 1
Jellyfin.Api/Controllers/MediaInfoController.cs

@@ -184,7 +184,7 @@ namespace Jellyfin.Api.Controllers
                         audioStreamIndex,
                         subtitleStreamIndex,
                         maxAudioChannels,
-                        info!.PlaySessionId!,
+                        info.PlaySessionId!,
                         userId ?? Guid.Empty,
                         enableDirectPlay.Value,
                         enableDirectStream.Value,

+ 4 - 4
Jellyfin.Api/Controllers/TvShowsController.cs

@@ -88,7 +88,7 @@ namespace Jellyfin.Api.Controllers
         {
             var options = new DtoOptions { Fields = fields }
                 .AddClientFields(Request)
-                .AddAdditionalDtoOptions(enableImges, enableUserData, imageTypeLimit, enableImageTypes!);
+                .AddAdditionalDtoOptions(enableImges, enableUserData, imageTypeLimit, enableImageTypes);
 
             var result = _tvSeriesManager.GetNextUp(
                 new NextUpQuery
@@ -153,7 +153,7 @@ namespace Jellyfin.Api.Controllers
 
             var options = new DtoOptions { Fields = fields }
                 .AddClientFields(Request)
-                .AddAdditionalDtoOptions(enableImges, enableUserData, imageTypeLimit, enableImageTypes!);
+                .AddAdditionalDtoOptions(enableImges, enableUserData, imageTypeLimit, enableImageTypes);
 
             var itemsResult = _libraryManager.GetItemList(new InternalItemsQuery(user)
             {
@@ -223,7 +223,7 @@ namespace Jellyfin.Api.Controllers
 
             var dtoOptions = new DtoOptions { Fields = fields }
                 .AddClientFields(Request)
-                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes!);
+                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes);
 
             if (seasonId.HasValue) // Season id was supplied. Get episodes by season id.
             {
@@ -350,7 +350,7 @@ namespace Jellyfin.Api.Controllers
 
             var dtoOptions = new DtoOptions { Fields = fields }
                 .AddClientFields(Request)
-                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes!);
+                .AddAdditionalDtoOptions(enableImages, enableUserData, imageTypeLimit, enableImageTypes);
 
             var returnItems = _dtoService.GetBaseItemDtos(seasons, dtoOptions, user);
 

+ 1 - 1
Jellyfin.Api/Controllers/UniversalAudioController.cs

@@ -155,7 +155,7 @@ namespace Jellyfin.Api.Controllers
                         null,
                         null,
                         maxAudioChannels,
-                        info!.PlaySessionId!,
+                        info.PlaySessionId!,
                         userId ?? Guid.Empty,
                         true,
                         true,

+ 1 - 1
Jellyfin.Api/Controllers/VideosController.cs

@@ -461,7 +461,7 @@ namespace Jellyfin.Api.Controllers
 
                 var liveStream = new ProgressiveFileStream(liveStreamInfo.GetStream());
                 // TODO (moved from MediaBrowser.Api): Don't hardcode contentType
-                return File(liveStream, MimeTypes.GetMimeType("file.ts")!);
+                return File(liveStream, MimeTypes.GetMimeType("file.ts"));
             }
 
             // Static remote stream

+ 1 - 1
Jellyfin.Api/Helpers/AudioHelper.cs

@@ -147,7 +147,7 @@ namespace Jellyfin.Api.Helpers
             }
 
             var outputPath = state.OutputFilePath;
-            var outputPathExists = System.IO.File.Exists(outputPath);
+            var outputPathExists = File.Exists(outputPath);
 
             var transcodingJob = _transcodingJobHelper.GetTranscodingJob(outputPath, TranscodingJobType.Progressive);
             var isTranscodeCached = outputPathExists && transcodingJob != null;

+ 1 - 1
Jellyfin.Api/Helpers/ClaimHelpers.cs

@@ -20,7 +20,7 @@ namespace Jellyfin.Api.Helpers
             var value = GetClaimValue(user, InternalClaimTypes.UserId);
             return string.IsNullOrEmpty(value)
                 ? null
-                : (Guid?)Guid.Parse(value);
+                : Guid.Parse(value);
         }
 
         /// <summary>

+ 4 - 4
Jellyfin.Api/Helpers/TranscodingJobHelper.cs

@@ -86,8 +86,8 @@ namespace Jellyfin.Api.Helpers
 
             DeleteEncodedMediaCache();
 
-            sessionManager!.PlaybackProgress += OnPlaybackProgress;
-            sessionManager!.PlaybackStart += OnPlaybackProgress;
+            sessionManager.PlaybackProgress += OnPlaybackProgress;
+            sessionManager.PlaybackStart += OnPlaybackProgress;
         }
 
         /// <summary>
@@ -878,8 +878,8 @@ namespace Jellyfin.Api.Helpers
             if (disposing)
             {
                 _loggerFactory.Dispose();
-                _sessionManager!.PlaybackProgress -= OnPlaybackProgress;
-                _sessionManager!.PlaybackStart -= OnPlaybackProgress;
+                _sessionManager.PlaybackProgress -= OnPlaybackProgress;
+                _sessionManager.PlaybackStart -= OnPlaybackProgress;
             }
         }
     }

+ 1 - 1
Jellyfin.Api/Models/StreamingDtos/StreamState.cs

@@ -55,7 +55,7 @@ namespace Jellyfin.Api.Models.StreamingDtos
         /// <summary>
         /// Gets the video request.
         /// </summary>
-        public VideoRequestDto? VideoRequest => Request! as VideoRequestDto;
+        public VideoRequestDto? VideoRequest => Request as VideoRequestDto;
 
         /// <summary>
         /// Gets or sets the direct stream provicer.

+ 1 - 1
Jellyfin.Server.Implementations/Security/AuthorizationContext.cs

@@ -27,7 +27,7 @@ namespace Jellyfin.Server.Implementations.Security
         {
             if (requestContext.Request.HttpContext.Items.TryGetValue("AuthorizationInfo", out var cached) && cached != null)
             {
-                return Task.FromResult((AuthorizationInfo)cached!); // Cache should never contain null
+                return Task.FromResult((AuthorizationInfo)cached); // Cache should never contain null
             }
 
             return GetAuthorization(requestContext);

+ 0 - 1
Jellyfin.Server/Infrastructure/SymlinkFollowingPhysicalFileResultExecutor.cs

@@ -26,7 +26,6 @@ using System;
 using System.IO;
 using System.Threading;
 using System.Threading.Tasks;
-using MediaBrowser.Model.IO;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Http.Extensions;
 using Microsoft.AspNetCore.Mvc;

+ 0 - 1
Jellyfin.Server/Middleware/UrlDecodeQueryFeature.cs

@@ -1,7 +1,6 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
-using System.Web;
 using Jellyfin.Extensions;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Http.Features;

+ 1 - 1
Jellyfin.Server/Migrations/Routines/MigrateDisplayPreferencesDb.cs

@@ -120,7 +120,7 @@ namespace Jellyfin.Server.Migrations.Routines
 
                     var displayPreferences = new DisplayPreferences(dtoUserId, itemId, client)
                     {
-                        IndexBy = Enum.TryParse<IndexingKind>(dto.IndexBy, true, out var indexBy) ? indexBy : (IndexingKind?)null,
+                        IndexBy = Enum.TryParse<IndexingKind>(dto.IndexBy, true, out var indexBy) ? indexBy : null,
                         ShowBackdrop = dto.ShowBackdrop,
                         ShowSidebar = dto.ShowSidebar,
                         ScrollDirection = dto.ScrollDirection,

+ 3 - 3
Jellyfin.Server/Program.cs

@@ -594,7 +594,7 @@ namespace Jellyfin.Server
             try
             {
                 // Serilog.Log is used by SerilogLoggerFactory when no logger is specified
-                Serilog.Log.Logger = new LoggerConfiguration()
+                Log.Logger = new LoggerConfiguration()
                     .ReadFrom.Configuration(configuration)
                     .Enrich.FromLogContext()
                     .Enrich.WithThreadId()
@@ -602,7 +602,7 @@ namespace Jellyfin.Server
             }
             catch (Exception ex)
             {
-                Serilog.Log.Logger = new LoggerConfiguration()
+                Log.Logger = new LoggerConfiguration()
                     .WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss}] [{Level:u3}] [{ThreadId}] {SourceContext}: {Message:lj}{NewLine}{Exception}")
                     .WriteTo.Async(x => x.File(
                         Path.Combine(appPaths.LogDirectoryPath, "log_.log"),
@@ -613,7 +613,7 @@ namespace Jellyfin.Server
                     .Enrich.WithThreadId()
                     .CreateLogger();
 
-                Serilog.Log.Logger.Fatal(ex, "Failed to create/read logger configuration");
+                Log.Logger.Fatal(ex, "Failed to create/read logger configuration");
             }
         }
 

+ 1 - 1
MediaBrowser.Controller/Entities/BaseItem.cs

@@ -2997,7 +2997,7 @@ namespace MediaBrowser.Controller.Entities
         }
 
         /// <inheritdoc />
-        public bool Equals(BaseItem other) => object.Equals(Id, other?.Id);
+        public bool Equals(BaseItem other) => Equals(Id, other?.Id);
 
         /// <inheritdoc />
         public override int GetHashCode() => HashCode.Combine(Id);

+ 1 - 1
MediaBrowser.Controller/Entities/BaseItemExtensions.cs

@@ -44,7 +44,7 @@ namespace MediaBrowser.Controller.Entities
         /// <param name="file">The file.</param>
         public static void SetImagePath(this BaseItem item, ImageType imageType, string file)
         {
-            if (file.StartsWith("http", System.StringComparison.OrdinalIgnoreCase))
+            if (file.StartsWith("http", StringComparison.OrdinalIgnoreCase))
             {
                 item.SetImage(
                 new ItemImageInfo

+ 1 - 1
MediaBrowser.MediaEncoding/BdInfo/BdInfoDirectoryInfo.cs

@@ -75,7 +75,7 @@ namespace MediaBrowser.MediaEncoding.BdInfo
                 x => new BdInfoFileInfo(x));
         }
 
-        public static IDirectoryInfo FromFileSystemPath(Model.IO.IFileSystem fs, string path)
+        public static IDirectoryInfo FromFileSystemPath(IFileSystem fs, string path)
         {
             return new BdInfoDirectoryInfo(fs, path);
         }

+ 0 - 1
MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs

@@ -208,7 +208,6 @@ namespace MediaBrowser.Model.Dlna
                 if (string.IsNullOrEmpty(orgPn))
                 {
                     contentFeatureList.Add(orgOp.TrimStart(';') + orgCi + dlnaflags);
-                    continue;
                 }
                 else
                 {

+ 1 - 1
MediaBrowser.Model/Dlna/StreamBuilder.cs

@@ -1229,7 +1229,7 @@ namespace MediaBrowser.Model.Dlna
 
             bool result = IsAudioEligibleForDirectPlay(item, maxBitrate, playMethod);
 
-            return (result, result ? (TranscodeReason?)null : TranscodeReason.ContainerBitrateExceedsLimit);
+            return (result, result ? null : TranscodeReason.ContainerBitrateExceedsLimit);
         }
 
         public static SubtitleProfile GetSubtitleProfile(

+ 0 - 1
MediaBrowser.Model/Globalization/ILocalizationManager.cs

@@ -1,5 +1,4 @@
 using System.Collections.Generic;
-using System.Globalization;
 using MediaBrowser.Model.Entities;
 
 namespace MediaBrowser.Model.Globalization

+ 0 - 1
MediaBrowser.Model/IO/AsyncFile.cs

@@ -1,4 +1,3 @@
-using System;
 using System.IO;
 
 namespace MediaBrowser.Model.IO

+ 0 - 1
MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetImageProvider.cs

@@ -13,7 +13,6 @@ using MediaBrowser.Controller.Entities.Movies;
 using MediaBrowser.Controller.Providers;
 using MediaBrowser.Model.Dto;
 using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.Extensions;
 using MediaBrowser.Model.Providers;
 
 namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets

+ 0 - 1
MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonImageProvider.cs

@@ -13,7 +13,6 @@ using MediaBrowser.Controller.Entities.TV;
 using MediaBrowser.Controller.Providers;
 using MediaBrowser.Model.Dto;
 using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.Extensions;
 using MediaBrowser.Model.Providers;
 
 namespace MediaBrowser.Providers.Plugins.Tmdb.TV

+ 1 - 1
RSSDP/SsdpCommunicationsServer.cs

@@ -395,7 +395,7 @@ namespace Rssdp.Infrastructure
                         // Strange cannot convert compiler error here if I don't explicitly
                         // assign or cast to Action first. Assignment is easier to read,
                         // so went with that.
-                        ProcessMessage(System.Text.UTF8Encoding.UTF8.GetString(result.Buffer, 0, result.ReceivedBytes), result.RemoteEndPoint, result.LocalIPAddress);
+                        ProcessMessage(UTF8Encoding.UTF8.GetString(result.Buffer, 0, result.ReceivedBytes), result.RemoteEndPoint, result.LocalIPAddress);
                     }
                 }
                 catch (ObjectDisposedException)

+ 1 - 1
RSSDP/SsdpDeviceLocator.cs

@@ -513,7 +513,7 @@ namespace Rssdp.Infrastructure
                 return TimeSpan.Zero;
             }
 
-            return (TimeSpan)(headerValue.MaxAge ?? headerValue.SharedMaxAge ?? TimeSpan.Zero);
+            return headerValue.MaxAge ?? headerValue.SharedMaxAge ?? TimeSpan.Zero;
         }
 
         private void RemoveExpiredDevicesFromCache()

+ 0 - 1
tests/Jellyfin.Api.Tests/Controllers/DynamicHlsControllerTests.cs

@@ -1,5 +1,4 @@
 using System;
-using System.Collections.Generic;
 using Jellyfin.Api.Controllers;
 using Xunit;
 

+ 0 - 2
tests/Jellyfin.MediaEncoding.Tests/EncoderValidatorTests.cs

@@ -1,6 +1,4 @@
 using System;
-using System.Collections;
-using System.Collections.Generic;
 using MediaBrowser.MediaEncoding.Encoder;
 using Microsoft.Extensions.Logging.Abstractions;
 using Xunit;

+ 0 - 12
tests/Jellyfin.MediaEncoding.Tests/Subtitles/SubtitleEncoderTests.cs

@@ -1,23 +1,11 @@
-using System;
-using System.Globalization;
-using System.IO;
 using System.Threading;
 using System.Threading.Tasks;
 using AutoFixture;
 using AutoFixture.AutoMoq;
-using MediaBrowser.Common.Configuration;
-using MediaBrowser.Common.Extensions;
-using MediaBrowser.Common.Net;
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.MediaEncoding;
 using MediaBrowser.MediaEncoding.Subtitles;
 using MediaBrowser.Model.Dto;
 using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.IO;
 using MediaBrowser.Model.MediaInfo;
-using Microsoft.Extensions.Logging.Abstractions;
-using Moq;
 using Xunit;
 
 namespace Jellyfin.MediaEncoding.Subtitles.Tests

+ 0 - 1
tests/Jellyfin.Model.Tests/Entities/MediaStreamTests.cs

@@ -1,4 +1,3 @@
-using System.Collections.Generic;
 using MediaBrowser.Model.Entities;
 using Xunit;
 

+ 0 - 1
tests/Jellyfin.Naming.Tests/AudioBook/AudioBookResolverTests.cs

@@ -1,4 +1,3 @@
-using System.Collections.Generic;
 using Emby.Naming.AudioBook;
 using Emby.Naming.Common;
 using Xunit;

+ 0 - 1
tests/Jellyfin.Naming.Tests/Video/VideoResolverTests.cs

@@ -1,4 +1,3 @@
-using System.Collections.Generic;
 using System.Linq;
 using Emby.Naming.Common;
 using Emby.Naming.Video;

+ 1 - 1
tests/Jellyfin.Networking.Tests/NetworkParseTests.cs

@@ -20,7 +20,7 @@ namespace Jellyfin.Networking.Tests
                 CallBase = true
             };
             configManager.Setup(x => x.GetConfiguration(It.IsAny<string>())).Returns(conf);
-            return (IConfigurationManager)configManager.Object;
+            return configManager.Object;
         }
 
         /// <summary>

+ 0 - 1
tests/Jellyfin.Server.Implementations.Tests/LiveTv/RecordingHelperTests.cs

@@ -1,5 +1,4 @@
 using System;
-using System.Collections.Generic;
 using Emby.Server.Implementations.LiveTv.EmbyTV;
 using MediaBrowser.Controller.LiveTv;
 using Xunit;

+ 0 - 2
tests/Jellyfin.Server.Implementations.Tests/Sorting/AiredEpisodeOrderComparerTests.cs

@@ -1,6 +1,4 @@
 using System;
-using System.Collections;
-using System.Collections.Generic;
 using Emby.Server.Implementations.Sorting;
 using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.Entities.Movies;