Bläddra i källkod

Use ArgumentNullException.ThrowIfNull helper method

Did a simple search/replace on the whole repo (except the RSSDP project)
This reduces LOC and should improve performance (methods containing a throw statement don't get inlined)

```
if \((\w+) == null\)
\s+\{
\s+throw new ArgumentNullException\((.*)\);
\s+\}
```

```
ArgumentNullException.ThrowIfNull($1);
```
Bond_009 2 år sedan
förälder
incheckning
a9a5fcde81
60 ändrade filer med 156 tillägg och 618 borttagningar
  1. 1 4
      Emby.Dlna/ContentDirectory/ContentDirectoryService.cs
  2. 2 8
      Emby.Dlna/ContentDirectory/ControlHandler.cs
  3. 2 8
      Emby.Dlna/DlnaManager.cs
  4. 3 12
      Emby.Dlna/PlayTo/Device.cs
  5. 1 4
      Emby.Dlna/PlayTo/TransportCommands.cs
  6. 1 4
      Emby.Dlna/PlayTo/UpnpContainer.cs
  7. 1 4
      Emby.Dlna/PlayTo/uBaseObject.cs
  8. 1 4
      Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs
  9. 1 4
      Emby.Server.Implementations/Channels/ChannelManager.cs
  10. 1 4
      Emby.Server.Implementations/Data/SqliteExtensions.cs
  11. 17 68
      Emby.Server.Implementations/Data/SqliteItemRepository.cs
  12. 3 12
      Emby.Server.Implementations/Data/SqliteUserDataRepository.cs
  13. 10 37
      Emby.Server.Implementations/Library/LibraryManager.cs
  14. 1 4
      Emby.Server.Implementations/Library/MediaSourceManager.cs
  15. 1 4
      Emby.Server.Implementations/Library/Resolvers/PhotoResolver.cs
  16. 3 12
      Emby.Server.Implementations/Library/UserDataManager.cs
  17. 2 8
      Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs
  18. 2 8
      Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs
  19. 1 4
      Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs
  20. 1 4
      Emby.Server.Implementations/Net/SocketFactory.cs
  21. 2 8
      Emby.Server.Implementations/Net/UdpSocket.cs
  22. 4 16
      Emby.Server.Implementations/Plugins/PluginManager.cs
  23. 6 24
      Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs
  24. 7 28
      Emby.Server.Implementations/Session/SessionManager.cs
  25. 2 8
      Emby.Server.Implementations/Sorting/AiredEpisodeOrderComparer.cs
  26. 2 8
      Emby.Server.Implementations/Sorting/CommunityRatingComparer.cs
  27. 2 8
      Emby.Server.Implementations/Sorting/DateCreatedComparer.cs
  28. 2 8
      Emby.Server.Implementations/Sorting/IndexNumberComparer.cs
  29. 2 8
      Emby.Server.Implementations/Sorting/NameComparer.cs
  30. 3 9
      Emby.Server.Implementations/Sorting/OfficialRatingComparer.cs
  31. 2 8
      Emby.Server.Implementations/Sorting/ParentIndexNumberComparer.cs
  32. 2 8
      Emby.Server.Implementations/Sorting/RuntimeComparer.cs
  33. 2 8
      Emby.Server.Implementations/Sorting/SortNameComparer.cs
  34. 2 8
      Emby.Server.Implementations/Sorting/StudioComparer.cs
  35. 1 4
      Emby.Server.Implementations/Updates/InstallationManager.cs
  36. 1 4
      Jellyfin.Drawing.Skia/StripCollageBuilder.cs
  37. 3 12
      Jellyfin.Networking/Manager/NetworkManager.cs
  38. 1 4
      Jellyfin.Server.Implementations/Devices/DeviceManager.cs
  39. 2 8
      Jellyfin.Server.Implementations/Users/UserManager.cs
  40. 1 4
      MediaBrowser.Common/Net/IPNetAddress.cs
  41. 5 20
      MediaBrowser.Common/Net/IPObject.cs
  42. 4 16
      MediaBrowser.Common/Net/NetworkExtensions.cs
  43. 1 4
      MediaBrowser.Common/Plugins/BasePluginOfT.cs
  44. 1 4
      MediaBrowser.Controller/Entities/AggregateFolder.cs
  45. 7 28
      MediaBrowser.Controller/Entities/BaseItem.cs
  46. 2 8
      MediaBrowser.Controller/Entities/BaseItemExtensions.cs
  47. 4 16
      MediaBrowser.Controller/Entities/Folder.cs
  48. 1 4
      MediaBrowser.Controller/Entities/PeopleHelper.cs
  49. 1 4
      MediaBrowser.Controller/IO/FileData.cs
  50. 2 8
      MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
  51. 2 8
      MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs
  52. 1 4
      MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs
  53. 1 4
      MediaBrowser.MediaEncoding/Attachments/AttachmentExtractor.cs
  54. 1 4
      MediaBrowser.MediaEncoding/Probing/FFProbeHelpers.cs
  55. 1 4
      MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
  56. 1 4
      MediaBrowser.Model/Cryptography/PasswordHash.cs
  57. 1 4
      MediaBrowser.Model/Dlna/StreamBuilder.cs
  58. 3 12
      MediaBrowser.Model/Entities/ProviderIdsExtensions.cs
  59. 1 4
      src/Jellyfin.Extensions/EnumerableExtensions.cs
  60. 12 48
      tests/Jellyfin.Networking.Tests/NetworkParseTests.cs

+ 1 - 4
Emby.Dlna/ContentDirectory/ContentDirectoryService.cs

@@ -103,10 +103,7 @@ namespace Emby.Dlna.ContentDirectory
         /// <inheritdoc />
         public Task<ControlResponse> ProcessControlRequestAsync(ControlRequest request)
         {
-            if (request == null)
-            {
-                throw new ArgumentNullException(nameof(request));
-            }
+            ArgumentNullException.ThrowIfNull(request);
 
             var profile = _dlna.GetProfile(request.Headers) ?? _dlna.GetDefaultProfile();
 

+ 2 - 8
Emby.Dlna/ContentDirectory/ControlHandler.cs

@@ -114,15 +114,9 @@ namespace Emby.Dlna.ContentDirectory
         /// <inheritdoc />
         protected override void WriteResult(string methodName, IReadOnlyDictionary<string, string> methodParams, XmlWriter xmlWriter)
         {
-            if (xmlWriter == null)
-            {
-                throw new ArgumentNullException(nameof(xmlWriter));
-            }
+            ArgumentNullException.ThrowIfNull(xmlWriter);
 
-            if (methodParams == null)
-            {
-                throw new ArgumentNullException(nameof(methodParams));
-            }
+            ArgumentNullException.ThrowIfNull(methodParams);
 
             const string DeviceId = "test";
 

+ 2 - 8
Emby.Dlna/DlnaManager.cs

@@ -100,10 +100,7 @@ namespace Emby.Dlna
         /// <inheritdoc />
         public DeviceProfile? GetProfile(DeviceIdentification deviceInfo)
         {
-            if (deviceInfo == null)
-            {
-                throw new ArgumentNullException(nameof(deviceInfo));
-            }
+            ArgumentNullException.ThrowIfNull(deviceInfo);
 
             var profile = GetProfiles()
                 .FirstOrDefault(i => i.Identification != null && IsMatch(deviceInfo, i.Identification));
@@ -170,10 +167,7 @@ namespace Emby.Dlna
         /// <inheritdoc />
         public DeviceProfile? GetProfile(IHeaderDictionary headers)
         {
-            if (headers == null)
-            {
-                throw new ArgumentNullException(nameof(headers));
-            }
+            ArgumentNullException.ThrowIfNull(headers);
 
             var profile = GetProfiles().FirstOrDefault(i => i.Identification != null && IsMatch(headers, i.Identification));
             if (profile == null)

+ 3 - 12
Emby.Dlna/PlayTo/Device.cs

@@ -931,10 +931,7 @@ namespace Emby.Dlna.PlayTo
 
         private static UBaseObject CreateUBaseObject(XElement container, string trackUri)
         {
-            if (container == null)
-            {
-                throw new ArgumentNullException(nameof(container));
-            }
+            ArgumentNullException.ThrowIfNull(container);
 
             var url = container.GetValue(UPnpNamespaces.Res);
 
@@ -958,10 +955,7 @@ namespace Emby.Dlna.PlayTo
 
         private static string[] GetProtocolInfo(XElement container)
         {
-            if (container == null)
-            {
-                throw new ArgumentNullException(nameof(container));
-            }
+            ArgumentNullException.ThrowIfNull(container);
 
             var resElement = container.Element(UPnpNamespaces.Res);
 
@@ -1183,10 +1177,7 @@ namespace Emby.Dlna.PlayTo
 #nullable enable
         private static DeviceIcon CreateIcon(XElement element)
         {
-            if (element == null)
-            {
-                throw new ArgumentNullException(nameof(element));
-            }
+            ArgumentNullException.ThrowIfNull(element);
 
             var width = element.GetDescendantValue(UPnpNamespaces.Ud.GetName("width"));
             var height = element.GetDescendantValue(UPnpNamespaces.Ud.GetName("height"));

+ 1 - 4
Emby.Dlna/PlayTo/TransportCommands.cs

@@ -61,10 +61,7 @@ namespace Emby.Dlna.PlayTo
 
         private static Argument ArgumentFromXml(XElement container)
         {
-            if (container == null)
-            {
-                throw new ArgumentNullException(nameof(container));
-            }
+            ArgumentNullException.ThrowIfNull(container);
 
             return new Argument
             {

+ 1 - 4
Emby.Dlna/PlayTo/UpnpContainer.cs

@@ -10,10 +10,7 @@ namespace Emby.Dlna.PlayTo
     {
         public static UBaseObject Create(XElement container)
         {
-            if (container == null)
-            {
-                throw new ArgumentNullException(nameof(container));
-            }
+            ArgumentNullException.ThrowIfNull(container);
 
             return new UBaseObject
             {

+ 1 - 4
Emby.Dlna/PlayTo/uBaseObject.cs

@@ -54,10 +54,7 @@ namespace Emby.Dlna.PlayTo
 
         public bool Equals(UBaseObject obj)
         {
-            if (obj == null)
-            {
-                throw new ArgumentNullException(nameof(obj));
-            }
+            ArgumentNullException.ThrowIfNull(obj);
 
             return string.Equals(Id, obj.Id, StringComparison.Ordinal);
         }

+ 1 - 4
Emby.Server.Implementations/AppBase/BaseConfigurationManager.cs

@@ -210,10 +210,7 @@ namespace Emby.Server.Implementations.AppBase
         /// <exception cref="ArgumentNullException"><c>newConfiguration</c> is <c>null</c>.</exception>
         public virtual void ReplaceConfiguration(BaseApplicationConfiguration newConfiguration)
         {
-            if (newConfiguration == null)
-            {
-                throw new ArgumentNullException(nameof(newConfiguration));
-            }
+            ArgumentNullException.ThrowIfNull(newConfiguration);
 
             ValidateCachePath(newConfiguration);
 

+ 1 - 4
Emby.Server.Implementations/Channels/ChannelManager.cs

@@ -1188,10 +1188,7 @@ namespace Emby.Server.Implementations.Channels
 
         internal IChannel GetChannelProvider(Channel channel)
         {
-            if (channel == null)
-            {
-                throw new ArgumentNullException(nameof(channel));
-            }
+            ArgumentNullException.ThrowIfNull(channel);
 
             var result = GetAllChannels()
                 .FirstOrDefault(i => GetInternalChannelId(i.Name).Equals(channel.ChannelId) || string.Equals(i.Name, channel.Name, StringComparison.OrdinalIgnoreCase));

+ 1 - 4
Emby.Server.Implementations/Data/SqliteExtensions.cs

@@ -54,10 +54,7 @@ namespace Emby.Server.Implementations.Data
 
         public static void RunQueries(this SQLiteDatabaseConnection connection, string[] queries)
         {
-            if (queries == null)
-            {
-                throw new ArgumentNullException(nameof(queries));
-            }
+            ArgumentNullException.ThrowIfNull(queries);
 
             connection.RunInTransaction(conn =>
             {

+ 17 - 68
Emby.Server.Implementations/Data/SqliteItemRepository.cs

@@ -583,10 +583,7 @@ namespace Emby.Server.Implementations.Data
 
         public void SaveImages(BaseItem item)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             CheckDisposed();
 
@@ -617,10 +614,7 @@ namespace Emby.Server.Implementations.Data
         /// </exception>
         public void SaveItems(IEnumerable<BaseItem> items, CancellationToken cancellationToken)
         {
-            if (items == null)
-            {
-                throw new ArgumentNullException(nameof(items));
-            }
+            ArgumentNullException.ThrowIfNull(items);
 
             cancellationToken.ThrowIfCancellationRequested();
 
@@ -2085,10 +2079,7 @@ namespace Emby.Server.Implementations.Data
                 throw new ArgumentNullException(nameof(id));
             }
 
-            if (chapters == null)
-            {
-                throw new ArgumentNullException(nameof(chapters));
-            }
+            ArgumentNullException.ThrowIfNull(chapters);
 
             var idBlob = id.ToByteArray();
 
@@ -2557,10 +2548,7 @@ namespace Emby.Server.Implementations.Data
 
         public int GetCount(InternalItemsQuery query)
         {
-            if (query == null)
-            {
-                throw new ArgumentNullException(nameof(query));
-            }
+            ArgumentNullException.ThrowIfNull(query);
 
             CheckDisposed();
 
@@ -2613,10 +2601,7 @@ namespace Emby.Server.Implementations.Data
 
         public List<BaseItem> GetItemList(InternalItemsQuery query)
         {
-            if (query == null)
-            {
-                throw new ArgumentNullException(nameof(query));
-            }
+            ArgumentNullException.ThrowIfNull(query);
 
             CheckDisposed();
 
@@ -2794,10 +2779,7 @@ namespace Emby.Server.Implementations.Data
 
         public QueryResult<BaseItem> GetItems(InternalItemsQuery query)
         {
-            if (query == null)
-            {
-                throw new ArgumentNullException(nameof(query));
-            }
+            ArgumentNullException.ThrowIfNull(query);
 
             CheckDisposed();
 
@@ -3174,10 +3156,7 @@ namespace Emby.Server.Implementations.Data
 
         public List<Guid> GetItemIdsList(InternalItemsQuery query)
         {
-            if (query == null)
-            {
-                throw new ArgumentNullException(nameof(query));
-            }
+            ArgumentNullException.ThrowIfNull(query);
 
             CheckDisposed();
 
@@ -4837,10 +4816,7 @@ where AncestorIdText not null and ItemValues.Value not null and ItemValues.Type
 
         public List<string> GetPeopleNames(InternalPeopleQuery query)
         {
-            if (query == null)
-            {
-                throw new ArgumentNullException(nameof(query));
-            }
+            ArgumentNullException.ThrowIfNull(query);
 
             CheckDisposed();
 
@@ -4880,10 +4856,7 @@ where AncestorIdText not null and ItemValues.Value not null and ItemValues.Type
 
         public List<PersonInfo> GetPeople(InternalPeopleQuery query)
         {
-            if (query == null)
-            {
-                throw new ArgumentNullException(nameof(query));
-            }
+            ArgumentNullException.ThrowIfNull(query);
 
             CheckDisposed();
 
@@ -4999,10 +4972,7 @@ AND Type = @InternalPersonType)");
                 throw new ArgumentNullException(nameof(itemId));
             }
 
-            if (ancestorIds == null)
-            {
-                throw new ArgumentNullException(nameof(ancestorIds));
-            }
+            ArgumentNullException.ThrowIfNull(ancestorIds);
 
             CheckDisposed();
 
@@ -5175,10 +5145,7 @@ AND Type = @InternalPersonType)");
 
         private QueryResult<(BaseItem Item, ItemCounts ItemCounts)> GetItemValues(InternalItemsQuery query, int[] itemValueTypes, string returnType)
         {
-            if (query == null)
-            {
-                throw new ArgumentNullException(nameof(query));
-            }
+            ArgumentNullException.ThrowIfNull(query);
 
             if (!query.Limit.HasValue)
             {
@@ -5531,10 +5498,7 @@ AND Type = @InternalPersonType)");
                 throw new ArgumentNullException(nameof(itemId));
             }
 
-            if (values == null)
-            {
-                throw new ArgumentNullException(nameof(values));
-            }
+            ArgumentNullException.ThrowIfNull(values);
 
             CheckDisposed();
 
@@ -5607,10 +5571,7 @@ AND Type = @InternalPersonType)");
                 throw new ArgumentNullException(nameof(itemId));
             }
 
-            if (people == null)
-            {
-                throw new ArgumentNullException(nameof(people));
-            }
+            ArgumentNullException.ThrowIfNull(people);
 
             CheckDisposed();
 
@@ -5710,10 +5671,7 @@ AND Type = @InternalPersonType)");
         {
             CheckDisposed();
 
-            if (query == null)
-            {
-                throw new ArgumentNullException(nameof(query));
-            }
+            ArgumentNullException.ThrowIfNull(query);
 
             var cmdText = _mediaStreamSaveColumnsSelectQuery;
 
@@ -5766,10 +5724,7 @@ AND Type = @InternalPersonType)");
                 throw new ArgumentNullException(nameof(id));
             }
 
-            if (streams == null)
-            {
-                throw new ArgumentNullException(nameof(streams));
-            }
+            ArgumentNullException.ThrowIfNull(streams);
 
             cancellationToken.ThrowIfCancellationRequested();
 
@@ -6107,10 +6062,7 @@ AND Type = @InternalPersonType)");
         {
             CheckDisposed();
 
-            if (query == null)
-            {
-                throw new ArgumentNullException(nameof(query));
-            }
+            ArgumentNullException.ThrowIfNull(query);
 
             var cmdText = _mediaAttachmentSaveColumnsSelectQuery;
 
@@ -6152,10 +6104,7 @@ AND Type = @InternalPersonType)");
                 throw new ArgumentException("Guid can't be empty.", nameof(id));
             }
 
-            if (attachments == null)
-            {
-                throw new ArgumentNullException(nameof(attachments));
-            }
+            ArgumentNullException.ThrowIfNull(attachments);
 
             cancellationToken.ThrowIfCancellationRequested();
 

+ 3 - 12
Emby.Server.Implementations/Data/SqliteUserDataRepository.cs

@@ -133,10 +133,7 @@ namespace Emby.Server.Implementations.Data
         /// <inheritdoc />
         public void SaveUserData(long userId, string key, UserItemData userData, CancellationToken cancellationToken)
         {
-            if (userData == null)
-            {
-                throw new ArgumentNullException(nameof(userData));
-            }
+            ArgumentNullException.ThrowIfNull(userData);
 
             if (userId <= 0)
             {
@@ -154,10 +151,7 @@ namespace Emby.Server.Implementations.Data
         /// <inheritdoc />
         public void SaveAllUserData(long userId, UserItemData[] userData, CancellationToken cancellationToken)
         {
-            if (userData == null)
-            {
-                throw new ArgumentNullException(nameof(userData));
-            }
+            ArgumentNullException.ThrowIfNull(userData);
 
             if (userId <= 0)
             {
@@ -304,10 +298,7 @@ namespace Emby.Server.Implementations.Data
 
         public UserItemData GetUserData(long userId, List<string> keys)
         {
-            if (keys == null)
-            {
-                throw new ArgumentNullException(nameof(keys));
-            }
+            ArgumentNullException.ThrowIfNull(keys);
 
             if (keys.Count == 0)
             {

+ 10 - 37
Emby.Server.Implementations/Library/LibraryManager.cs

@@ -281,10 +281,7 @@ namespace Emby.Server.Implementations.Library
 
         public void RegisterItem(BaseItem item)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             if (item is IItemByName)
             {
@@ -311,10 +308,7 @@ namespace Emby.Server.Implementations.Library
 
         public void DeleteItem(BaseItem item, DeleteOptions options, bool notifyParentItem)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             var parent = item.GetOwner() ?? item.GetParent();
 
@@ -323,10 +317,7 @@ namespace Emby.Server.Implementations.Library
 
         public void DeleteItem(BaseItem item, DeleteOptions options, BaseItem parent, bool notifyParentItem)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             if (item.SourceType == SourceType.Channel)
             {
@@ -509,10 +500,7 @@ namespace Emby.Server.Implementations.Library
                 throw new ArgumentNullException(nameof(key));
             }
 
-            if (type == null)
-            {
-                throw new ArgumentNullException(nameof(type));
-            }
+            ArgumentNullException.ThrowIfNull(type);
 
             string programDataPath = _configurationManager.ApplicationPaths.ProgramDataPath;
             if (key.StartsWith(programDataPath, StringComparison.Ordinal))
@@ -544,10 +532,7 @@ namespace Emby.Server.Implementations.Library
             string collectionType = null,
             LibraryOptions libraryOptions = null)
         {
-            if (fileInfo == null)
-            {
-                throw new ArgumentNullException(nameof(fileInfo));
-            }
+            ArgumentNullException.ThrowIfNull(fileInfo);
 
             var fullPath = fileInfo.FullName;
 
@@ -1854,10 +1839,7 @@ namespace Emby.Server.Implementations.Library
         /// <inheritdoc />
         public async Task UpdateImagesAsync(BaseItem item, bool forceUpdate = false)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             var outdated = forceUpdate
                 ? item.ImageInfos.Where(i => i.Path != null).ToArray()
@@ -2296,10 +2278,7 @@ namespace Emby.Server.Implementations.Library
             string viewType,
             string sortName)
         {
-            if (parent == null)
-            {
-                throw new ArgumentNullException(nameof(parent));
-            }
+            ArgumentNullException.ThrowIfNull(parent);
 
             var name = parent.Name;
             var parentId = parent.Id;
@@ -2779,7 +2758,7 @@ namespace Emby.Server.Implementations.Library
                 }
             })
             .Where(i => i != null)
-            .Where(i => query.User == null ? 
+            .Where(i => query.User == null ?
                 true :
                 i.IsVisible(query.User))
             .ToList();
@@ -2983,10 +2962,7 @@ namespace Emby.Server.Implementations.Library
 
         private void AddMediaPathInternal(string virtualFolderName, MediaPathInfo pathInfo, bool saveLibraryOptions)
         {
-            if (pathInfo == null)
-            {
-                throw new ArgumentNullException(nameof(pathInfo));
-            }
+            ArgumentNullException.ThrowIfNull(pathInfo);
 
             var path = pathInfo.Path;
 
@@ -3033,10 +3009,7 @@ namespace Emby.Server.Implementations.Library
 
         public void UpdateMediaPath(string virtualFolderName, MediaPathInfo mediaPath)
         {
-            if (mediaPath == null)
-            {
-                throw new ArgumentNullException(nameof(mediaPath));
-            }
+            ArgumentNullException.ThrowIfNull(mediaPath);
 
             var rootFolderPath = _configurationManager.ApplicationPaths.DefaultUserViewsPath;
             var virtualFolderPath = Path.Combine(rootFolderPath, virtualFolderName);

+ 1 - 4
Emby.Server.Implementations/Library/MediaSourceManager.cs

@@ -322,10 +322,7 @@ namespace Emby.Server.Implementations.Library
 
         public List<MediaSourceInfo> GetStaticMediaSources(BaseItem item, bool enablePathSubstitution, User user = null)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             var hasMediaSources = (IHasMediaSources)item;
 

+ 1 - 4
Emby.Server.Implementations/Library/Resolvers/PhotoResolver.cs

@@ -91,10 +91,7 @@ namespace Emby.Server.Implementations.Library.Resolvers
 
         internal static bool IsImageFile(string path, IImageProcessor imageProcessor)
         {
-            if (path == null)
-            {
-                throw new ArgumentNullException(nameof(path));
-            }
+            ArgumentNullException.ThrowIfNull(path);
 
             var filename = Path.GetFileNameWithoutExtension(path);
 

+ 3 - 12
Emby.Server.Implementations/Library/UserDataManager.cs

@@ -53,15 +53,9 @@ namespace Emby.Server.Implementations.Library
 
         public void SaveUserData(User user, BaseItem item, UserItemData userData, UserDataSaveReason reason, CancellationToken cancellationToken)
         {
-            if (userData == null)
-            {
-                throw new ArgumentNullException(nameof(userData));
-            }
+            ArgumentNullException.ThrowIfNull(userData);
 
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             cancellationToken.ThrowIfCancellationRequested();
 
@@ -194,10 +188,7 @@ namespace Emby.Server.Implementations.Library
         /// <exception cref="ArgumentNullException"><paramref name="data"/> is <c>null</c>.</exception>
         private UserItemDataDto GetUserItemDataDto(UserItemData data)
         {
-            if (data == null)
-            {
-                throw new ArgumentNullException(nameof(data));
-            }
+            ArgumentNullException.ThrowIfNull(data);
 
             return new UserItemDataDto
             {

+ 2 - 8
Emby.Server.Implementations/LiveTv/EmbyTV/EmbyTV.cs

@@ -1223,10 +1223,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
 
         private async Task RecordStream(TimerInfo timer, DateTime recordingEndDate, ActiveRecordingInfo activeRecordingInfo)
         {
-            if (timer == null)
-            {
-                throw new ArgumentNullException(nameof(timer));
-            }
+            ArgumentNullException.ThrowIfNull(timer);
 
             LiveTvProgram programInfo = null;
 
@@ -2347,10 +2344,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
 
         private IEnumerable<TimerInfo> GetTimersForSeries(SeriesTimerInfo seriesTimer)
         {
-            if (seriesTimer == null)
-            {
-                throw new ArgumentNullException(nameof(seriesTimer));
-            }
+            ArgumentNullException.ThrowIfNull(seriesTimer);
 
             var query = new InternalItemsQuery
             {

+ 2 - 8
Emby.Server.Implementations/LiveTv/EmbyTV/ItemDataProvider.cs

@@ -84,10 +84,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
 
         public virtual void Update(T item)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             lock (_fileDataLock)
             {
@@ -107,10 +104,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
 
         public virtual void Add(T item)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             lock (_fileDataLock)
             {

+ 1 - 4
Emby.Server.Implementations/LiveTv/TunerHosts/M3uParser.cs

@@ -44,10 +44,7 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
 
         public async Task<Stream> GetListingsStream(TunerHostInfo info, CancellationToken cancellationToken)
         {
-            if (info == null)
-            {
-                throw new ArgumentNullException(nameof(info));
-            }
+            ArgumentNullException.ThrowIfNull(info);
 
             if (!info.Url.StartsWith("http", StringComparison.OrdinalIgnoreCase))
             {

+ 1 - 4
Emby.Server.Implementations/Net/SocketFactory.cs

@@ -63,10 +63,7 @@ namespace Emby.Server.Implementations.Net
         /// <inheritdoc />
         public ISocket CreateUdpMulticastSocket(IPAddress ipAddress, int multicastTimeToLive, int localPort)
         {
-            if (ipAddress == null)
-            {
-                throw new ArgumentNullException(nameof(ipAddress));
-            }
+            ArgumentNullException.ThrowIfNull(ipAddress);
 
             if (multicastTimeToLive <= 0)
             {

+ 2 - 8
Emby.Server.Implementations/Net/UdpSocket.cs

@@ -35,10 +35,7 @@ namespace Emby.Server.Implementations.Net
 
         public UdpSocket(Socket socket, int localPort, IPAddress ip)
         {
-            if (socket == null)
-            {
-                throw new ArgumentNullException(nameof(socket));
-            }
+            ArgumentNullException.ThrowIfNull(socket);
 
             _socket = socket;
             _localPort = localPort;
@@ -51,10 +48,7 @@ namespace Emby.Server.Implementations.Net
 
         public UdpSocket(Socket socket, IPEndPoint endPoint)
         {
-            if (socket == null)
-            {
-                throw new ArgumentNullException(nameof(socket));
-            }
+            ArgumentNullException.ThrowIfNull(socket);
 
             _socket = socket;
             _socket.Connect(endPoint);

+ 4 - 16
Emby.Server.Implementations/Plugins/PluginManager.cs

@@ -234,10 +234,7 @@ namespace Emby.Server.Implementations.Plugins
         /// <returns>Outcome of the operation.</returns>
         public bool RemovePlugin(LocalPlugin plugin)
         {
-            if (plugin == null)
-            {
-                throw new ArgumentNullException(nameof(plugin));
-            }
+            ArgumentNullException.ThrowIfNull(plugin);
 
             if (DeletePlugin(plugin))
             {
@@ -288,10 +285,7 @@ namespace Emby.Server.Implementations.Plugins
         /// <param name="plugin">The <see cref="LocalPlugin"/> of the plug to disable.</param>
         public void EnablePlugin(LocalPlugin plugin)
         {
-            if (plugin == null)
-            {
-                throw new ArgumentNullException(nameof(plugin));
-            }
+            ArgumentNullException.ThrowIfNull(plugin);
 
             if (ChangePluginState(plugin, PluginStatus.Active))
             {
@@ -306,10 +300,7 @@ namespace Emby.Server.Implementations.Plugins
         /// <param name="plugin">The <see cref="LocalPlugin"/> of the plug to disable.</param>
         public void DisablePlugin(LocalPlugin plugin)
         {
-            if (plugin == null)
-            {
-                throw new ArgumentNullException(nameof(plugin));
-            }
+            ArgumentNullException.ThrowIfNull(plugin);
 
             // Update the manifest on disk
             if (ChangePluginState(plugin, PluginStatus.Disabled))
@@ -326,10 +317,7 @@ namespace Emby.Server.Implementations.Plugins
         public void FailPlugin(Assembly assembly)
         {
             // Only save if disabled.
-            if (assembly == null)
-            {
-                throw new ArgumentNullException(nameof(assembly));
-            }
+            ArgumentNullException.ThrowIfNull(assembly);
 
             var plugin = _plugins.FirstOrDefault(p => p.DllFiles.Contains(assembly.Location));
             if (plugin == null)

+ 6 - 24
Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs

@@ -92,25 +92,13 @@ namespace Emby.Server.Implementations.ScheduledTasks
         /// </exception>
         public ScheduledTaskWorker(IScheduledTask scheduledTask, IApplicationPaths applicationPaths, ITaskManager taskManager, ILogger logger)
         {
-            if (scheduledTask == null)
-            {
-                throw new ArgumentNullException(nameof(scheduledTask));
-            }
+            ArgumentNullException.ThrowIfNull(scheduledTask);
 
-            if (applicationPaths == null)
-            {
-                throw new ArgumentNullException(nameof(applicationPaths));
-            }
+            ArgumentNullException.ThrowIfNull(applicationPaths);
 
-            if (taskManager == null)
-            {
-                throw new ArgumentNullException(nameof(taskManager));
-            }
+            ArgumentNullException.ThrowIfNull(taskManager);
 
-            if (logger == null)
-            {
-                throw new ArgumentNullException(nameof(logger));
-            }
+            ArgumentNullException.ThrowIfNull(logger);
 
             ScheduledTask = scheduledTask;
             _applicationPaths = applicationPaths;
@@ -249,10 +237,7 @@ namespace Emby.Server.Implementations.ScheduledTasks
             get => _triggers;
             set
             {
-                if (value == null)
-                {
-                    throw new ArgumentNullException(nameof(value));
-                }
+                ArgumentNullException.ThrowIfNull(value);
 
                 // Cleanup current triggers
                 if (_triggers != null)
@@ -281,10 +266,7 @@ namespace Emby.Server.Implementations.ScheduledTasks
 
             set
             {
-                if (value == null)
-                {
-                    throw new ArgumentNullException(nameof(value));
-                }
+                ArgumentNullException.ThrowIfNull(value);
 
                 // This null check is not great, but is needed to handle bad user input, or user mucking with the config file incorrectly
                 var triggerList = value.Where(i => i != null).ToArray();

+ 7 - 28
Emby.Server.Implementations/Session/SessionManager.cs

@@ -665,10 +665,7 @@ namespace Emby.Server.Implementations.Session
         {
             CheckDisposed();
 
-            if (info == null)
-            {
-                throw new ArgumentNullException(nameof(info));
-            }
+            ArgumentNullException.ThrowIfNull(info);
 
             var session = GetSession(info.SessionId);
 
@@ -762,10 +759,7 @@ namespace Emby.Server.Implementations.Session
         {
             CheckDisposed();
 
-            if (info == null)
-            {
-                throw new ArgumentNullException(nameof(info));
-            }
+            ArgumentNullException.ThrowIfNull(info);
 
             var session = GetSession(info.SessionId);
 
@@ -897,10 +891,7 @@ namespace Emby.Server.Implementations.Session
         {
             CheckDisposed();
 
-            if (info == null)
-            {
-                throw new ArgumentNullException(nameof(info));
-            }
+            ArgumentNullException.ThrowIfNull(info);
 
             if (info.PositionTicks.HasValue && info.PositionTicks.Value < 0)
             {
@@ -1341,15 +1332,9 @@ namespace Emby.Server.Implementations.Session
 
         private static void AssertCanControl(SessionInfo session, SessionInfo controllingSession)
         {
-            if (session == null)
-            {
-                throw new ArgumentNullException(nameof(session));
-            }
+            ArgumentNullException.ThrowIfNull(session);
 
-            if (controllingSession == null)
-            {
-                throw new ArgumentNullException(nameof(controllingSession));
-            }
+            ArgumentNullException.ThrowIfNull(controllingSession);
         }
 
         /// <summary>
@@ -1688,10 +1673,7 @@ namespace Emby.Server.Implementations.Session
         /// </summary>
         private BaseItemDto GetItemInfo(BaseItem item, MediaSourceInfo mediaSource)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             var dtoOptions = _itemInfoDtoOptions;
 
@@ -1802,10 +1784,7 @@ namespace Emby.Server.Implementations.Session
         /// <inheritdoc />
         public Task<SessionInfo> GetSessionByAuthenticationToken(Device info, string deviceId, string remoteEndpoint, string appVersion)
         {
-            if (info == null)
-            {
-                throw new ArgumentNullException(nameof(info));
-            }
+            ArgumentNullException.ThrowIfNull(info);
 
             var user = info.UserId.Equals(default)
                 ? null

+ 2 - 8
Emby.Server.Implementations/Sorting/AiredEpisodeOrderComparer.cs

@@ -24,15 +24,9 @@ namespace Emby.Server.Implementations.Sorting
         /// <returns>System.Int32.</returns>
         public int Compare(BaseItem? x, BaseItem? y)
         {
-            if (x == null)
-            {
-                throw new ArgumentNullException(nameof(x));
-            }
+            ArgumentNullException.ThrowIfNull(x);
 
-            if (y == null)
-            {
-                throw new ArgumentNullException(nameof(y));
-            }
+            ArgumentNullException.ThrowIfNull(y);
 
             var episode1 = x as Episode;
             var episode2 = y as Episode;

+ 2 - 8
Emby.Server.Implementations/Sorting/CommunityRatingComparer.cs

@@ -23,15 +23,9 @@ namespace Emby.Server.Implementations.Sorting
         /// <returns>System.Int32.</returns>
         public int Compare(BaseItem? x, BaseItem? y)
         {
-            if (x == null)
-            {
-                throw new ArgumentNullException(nameof(x));
-            }
+            ArgumentNullException.ThrowIfNull(x);
 
-            if (y == null)
-            {
-                throw new ArgumentNullException(nameof(y));
-            }
+            ArgumentNullException.ThrowIfNull(y);
 
             return (x.CommunityRating ?? 0).CompareTo(y.CommunityRating ?? 0);
         }

+ 2 - 8
Emby.Server.Implementations/Sorting/DateCreatedComparer.cs

@@ -24,15 +24,9 @@ namespace Emby.Server.Implementations.Sorting
         /// <returns>System.Int32.</returns>
         public int Compare(BaseItem? x, BaseItem? y)
         {
-            if (x == null)
-            {
-                throw new ArgumentNullException(nameof(x));
-            }
+            ArgumentNullException.ThrowIfNull(x);
 
-            if (y == null)
-            {
-                throw new ArgumentNullException(nameof(y));
-            }
+            ArgumentNullException.ThrowIfNull(y);
 
             return DateTime.Compare(x.DateCreated, y.DateCreated);
         }

+ 2 - 8
Emby.Server.Implementations/Sorting/IndexNumberComparer.cs

@@ -24,15 +24,9 @@ namespace Emby.Server.Implementations.Sorting
         /// <returns>System.Int32.</returns>
         public int Compare(BaseItem? x, BaseItem? y)
         {
-            if (x == null)
-            {
-                throw new ArgumentNullException(nameof(x));
-            }
+            ArgumentNullException.ThrowIfNull(x);
 
-            if (y == null)
-            {
-                throw new ArgumentNullException(nameof(y));
-            }
+            ArgumentNullException.ThrowIfNull(y);
 
             if (!x.IndexNumber.HasValue && !y.IndexNumber.HasValue)
             {

+ 2 - 8
Emby.Server.Implementations/Sorting/NameComparer.cs

@@ -24,15 +24,9 @@ namespace Emby.Server.Implementations.Sorting
         /// <returns>System.Int32.</returns>
         public int Compare(BaseItem? x, BaseItem? y)
         {
-            if (x == null)
-            {
-                throw new ArgumentNullException(nameof(x));
-            }
+            ArgumentNullException.ThrowIfNull(x);
 
-            if (y == null)
-            {
-                throw new ArgumentNullException(nameof(y));
-            }
+            ArgumentNullException.ThrowIfNull(y);
 
             return string.Compare(x.Name, y.Name, StringComparison.OrdinalIgnoreCase);
         }

+ 3 - 9
Emby.Server.Implementations/Sorting/OfficialRatingComparer.cs

@@ -31,15 +31,9 @@ namespace Emby.Server.Implementations.Sorting
         /// <returns>System.Int32.</returns>
         public int Compare(BaseItem? x, BaseItem? y)
         {
-            if (x == null)
-            {
-                throw new ArgumentNullException(nameof(x));
-            }
-
-            if (y == null)
-            {
-                throw new ArgumentNullException(nameof(y));
-            }
+            ArgumentNullException.ThrowIfNull(x);
+
+            ArgumentNullException.ThrowIfNull(y);
 
             var levelX = string.IsNullOrEmpty(x.OfficialRating) ? 0 : _localization.GetRatingLevel(x.OfficialRating) ?? 0;
             var levelY = string.IsNullOrEmpty(y.OfficialRating) ? 0 : _localization.GetRatingLevel(y.OfficialRating) ?? 0;

+ 2 - 8
Emby.Server.Implementations/Sorting/ParentIndexNumberComparer.cs

@@ -24,15 +24,9 @@ namespace Emby.Server.Implementations.Sorting
         /// <returns>System.Int32.</returns>
         public int Compare(BaseItem? x, BaseItem? y)
         {
-            if (x == null)
-            {
-                throw new ArgumentNullException(nameof(x));
-            }
+            ArgumentNullException.ThrowIfNull(x);
 
-            if (y == null)
-            {
-                throw new ArgumentNullException(nameof(y));
-            }
+            ArgumentNullException.ThrowIfNull(y);
 
             if (!x.ParentIndexNumber.HasValue && !y.ParentIndexNumber.HasValue)
             {

+ 2 - 8
Emby.Server.Implementations/Sorting/RuntimeComparer.cs

@@ -26,15 +26,9 @@ namespace Emby.Server.Implementations.Sorting
         /// <returns>System.Int32.</returns>
         public int Compare(BaseItem x, BaseItem y)
         {
-            if (x == null)
-            {
-                throw new ArgumentNullException(nameof(x));
-            }
+            ArgumentNullException.ThrowIfNull(x);
 
-            if (y == null)
-            {
-                throw new ArgumentNullException(nameof(y));
-            }
+            ArgumentNullException.ThrowIfNull(y);
 
             return (x.RunTimeTicks ?? 0).CompareTo(y.RunTimeTicks ?? 0);
         }

+ 2 - 8
Emby.Server.Implementations/Sorting/SortNameComparer.cs

@@ -26,15 +26,9 @@ namespace Emby.Server.Implementations.Sorting
         /// <returns>System.Int32.</returns>
         public int Compare(BaseItem x, BaseItem y)
         {
-            if (x == null)
-            {
-                throw new ArgumentNullException(nameof(x));
-            }
+            ArgumentNullException.ThrowIfNull(x);
 
-            if (y == null)
-            {
-                throw new ArgumentNullException(nameof(y));
-            }
+            ArgumentNullException.ThrowIfNull(y);
 
             return string.Compare(x.SortName, y.SortName, StringComparison.OrdinalIgnoreCase);
         }

+ 2 - 8
Emby.Server.Implementations/Sorting/StudioComparer.cs

@@ -26,15 +26,9 @@ namespace Emby.Server.Implementations.Sorting
         /// <returns>System.Int32.</returns>
         public int Compare(BaseItem x, BaseItem y)
         {
-            if (x == null)
-            {
-                throw new ArgumentNullException(nameof(x));
-            }
+            ArgumentNullException.ThrowIfNull(x);
 
-            if (y == null)
-            {
-                throw new ArgumentNullException(nameof(y));
-            }
+            ArgumentNullException.ThrowIfNull(y);
 
             return AlphanumericComparator.CompareValues(x.Studios.FirstOrDefault(), y.Studios.FirstOrDefault());
         }

+ 1 - 4
Emby.Server.Implementations/Updates/InstallationManager.cs

@@ -294,10 +294,7 @@ namespace Emby.Server.Implementations.Updates
         /// <inheritdoc />
         public async Task InstallPackage(InstallationInfo package, CancellationToken cancellationToken)
         {
-            if (package == null)
-            {
-                throw new ArgumentNullException(nameof(package));
-            }
+            ArgumentNullException.ThrowIfNull(package);
 
             var innerCancellationTokenSource = new CancellationTokenSource();
 

+ 1 - 4
Jellyfin.Drawing.Skia/StripCollageBuilder.cs

@@ -29,10 +29,7 @@ namespace Jellyfin.Drawing.Skia
         /// <returns>The image format.</returns>
         public static SKEncodedImageFormat GetEncodedFormat(string outputPath)
         {
-            if (outputPath == null)
-            {
-                throw new ArgumentNullException(nameof(outputPath));
-            }
+            ArgumentNullException.ThrowIfNull(outputPath);
 
             var ext = Path.GetExtension(outputPath);
 

+ 3 - 12
Jellyfin.Networking/Manager/NetworkManager.cs

@@ -353,10 +353,7 @@ namespace Jellyfin.Networking.Manager
         public string GetBindInterface(IPObject source, out int? port)
         {
             port = null;
-            if (source == null)
-            {
-                throw new ArgumentNullException(nameof(source));
-            }
+            ArgumentNullException.ThrowIfNull(source);
 
             // Do we have a source?
             bool haveSource = !source.Address.Equals(IPAddress.None);
@@ -476,10 +473,7 @@ namespace Jellyfin.Networking.Manager
         /// <inheritdoc/>
         public bool IsInLocalNetwork(IPAddress address)
         {
-            if (address == null)
-            {
-                throw new ArgumentNullException(nameof(address));
-            }
+            ArgumentNullException.ThrowIfNull(address);
 
             if (address.Equals(IPAddress.None))
             {
@@ -499,10 +493,7 @@ namespace Jellyfin.Networking.Manager
         /// <inheritdoc/>
         public bool IsPrivateAddressRange(IPObject address)
         {
-            if (address == null)
-            {
-                throw new ArgumentNullException(nameof(address));
-            }
+            ArgumentNullException.ThrowIfNull(address);
 
             // See conversation at https://github.com/jellyfin/jellyfin/pull/3515.
             if (TrustAllIP6Interfaces && address.AddressFamily == AddressFamily.InterNetworkV6)

+ 1 - 4
Jellyfin.Server.Implementations/Devices/DeviceManager.cs

@@ -201,10 +201,7 @@ namespace Jellyfin.Server.Implementations.Devices
         /// <inheritdoc />
         public bool CanAccessDevice(User user, string deviceId)
         {
-            if (user == null)
-            {
-                throw new ArgumentNullException(nameof(user));
-            }
+            ArgumentNullException.ThrowIfNull(user);
 
             if (string.IsNullOrEmpty(deviceId))
             {

+ 2 - 8
Jellyfin.Server.Implementations/Users/UserManager.cs

@@ -130,10 +130,7 @@ namespace Jellyfin.Server.Implementations.Users
         /// <inheritdoc/>
         public async Task RenameUser(User user, string newName)
         {
-            if (user == null)
-            {
-                throw new ArgumentNullException(nameof(user));
-            }
+            ArgumentNullException.ThrowIfNull(user);
 
             ThrowIfInvalidUsername(newName);
 
@@ -267,10 +264,7 @@ namespace Jellyfin.Server.Implementations.Users
         /// <inheritdoc/>
         public async Task ChangePassword(User user, string newPassword)
         {
-            if (user == null)
-            {
-                throw new ArgumentNullException(nameof(user));
-            }
+            ArgumentNullException.ThrowIfNull(user);
 
             await GetAuthenticationProvider(user).ChangePassword(user, newPassword).ConfigureAwait(false);
             await UpdateUserAsync(user).ConfigureAwait(false);

+ 1 - 4
MediaBrowser.Common/Net/IPNetAddress.cs

@@ -160,10 +160,7 @@ namespace MediaBrowser.Common.Net
         /// <inheritdoc/>
         public override bool Contains(IPAddress address)
         {
-            if (address == null)
-            {
-                throw new ArgumentNullException(nameof(address));
-            }
+            ArgumentNullException.ThrowIfNull(address);
 
             if (address.IsIPv4MappedToIPv6)
             {

+ 5 - 20
MediaBrowser.Common/Net/IPObject.cs

@@ -55,10 +55,7 @@ namespace MediaBrowser.Common.Net
         /// <returns>IPAddress.</returns>
         public static (IPAddress Address, byte PrefixLength) NetworkAddressOf(IPAddress address, byte prefixLength)
         {
-            if (address == null)
-            {
-                throw new ArgumentNullException(nameof(address));
-            }
+            ArgumentNullException.ThrowIfNull(address);
 
             if (address.IsIPv4MappedToIPv6)
             {
@@ -109,10 +106,7 @@ namespace MediaBrowser.Common.Net
         /// <returns>True if it is.</returns>
         public static bool IsIP6(IPAddress address)
         {
-            if (address == null)
-            {
-                throw new ArgumentNullException(nameof(address));
-            }
+            ArgumentNullException.ThrowIfNull(address);
 
             if (address.IsIPv4MappedToIPv6)
             {
@@ -129,10 +123,7 @@ namespace MediaBrowser.Common.Net
         /// <returns>True if it contains a private address.</returns>
         public static bool IsPrivateAddressRange(IPAddress address)
         {
-            if (address == null)
-            {
-                throw new ArgumentNullException(nameof(address));
-            }
+            ArgumentNullException.ThrowIfNull(address);
 
             if (!address.Equals(IPAddress.None))
             {
@@ -179,10 +170,7 @@ namespace MediaBrowser.Common.Net
         /// </remarks>
         public static bool IsIPv6LinkLocal(IPAddress address)
         {
-            if (address == null)
-            {
-                throw new ArgumentNullException(nameof(address));
-            }
+            ArgumentNullException.ThrowIfNull(address);
 
             if (address.IsIPv4MappedToIPv6)
             {
@@ -226,10 +214,7 @@ namespace MediaBrowser.Common.Net
         /// <returns>Byte CIDR representing the mask.</returns>
         public static byte MaskToCidr(IPAddress mask)
         {
-            if (mask == null)
-            {
-                throw new ArgumentNullException(nameof(mask));
-            }
+            ArgumentNullException.ThrowIfNull(mask);
 
             byte cidrnet = 0;
             if (!mask.Equals(IPAddress.Any))

+ 4 - 16
MediaBrowser.Common/Net/NetworkExtensions.cs

@@ -61,10 +61,7 @@ namespace MediaBrowser.Common.Net
                 return false;
             }
 
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             if (item.IsIPv4MappedToIPv6)
             {
@@ -96,10 +93,7 @@ namespace MediaBrowser.Common.Net
                 return false;
             }
 
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             foreach (var i in source)
             {
@@ -153,10 +147,7 @@ namespace MediaBrowser.Common.Net
         /// <returns>Collection{IPObject} object containing the subnets.</returns>
         public static Collection<IPObject> AsNetworks(this Collection<IPObject> source)
         {
-            if (source == null)
-            {
-                throw new ArgumentNullException(nameof(source));
-            }
+            ArgumentNullException.ThrowIfNull(source);
 
             Collection<IPObject> res = new Collection<IPObject>();
 
@@ -239,10 +230,7 @@ namespace MediaBrowser.Common.Net
                 return new Collection<IPObject>();
             }
 
-            if (target == null)
-            {
-                throw new ArgumentNullException(nameof(target));
-            }
+            ArgumentNullException.ThrowIfNull(target);
 
             Collection<IPObject> nc = new Collection<IPObject>();
 

+ 1 - 4
MediaBrowser.Common/Plugins/BasePluginOfT.cs

@@ -164,10 +164,7 @@ namespace MediaBrowser.Common.Plugins
         /// <inheritdoc />
         public virtual void UpdateConfiguration(BasePluginConfiguration configuration)
         {
-            if (configuration == null)
-            {
-                throw new ArgumentNullException(nameof(configuration));
-            }
+            ArgumentNullException.ThrowIfNull(configuration);
 
             Configuration = (TConfigurationType)configuration;
 

+ 1 - 4
MediaBrowser.Controller/Entities/AggregateFolder.cs

@@ -171,10 +171,7 @@ namespace MediaBrowser.Controller.Entities
         /// <exception cref="ArgumentNullException">Throws if child is null.</exception>
         public void AddVirtualChild(BaseItem child)
         {
-            if (child == null)
-            {
-                throw new ArgumentNullException(nameof(child));
-            }
+            ArgumentNullException.ThrowIfNull(child);
 
             _virtualChildren.Add(child);
         }

+ 7 - 28
MediaBrowser.Controller/Entities/BaseItem.cs

@@ -1101,10 +1101,7 @@ namespace MediaBrowser.Controller.Entities
 
         private MediaSourceInfo GetVersionInfo(bool enablePathSubstitution, BaseItem item, MediaSourceType type)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             var protocol = item.PathProtocol;
 
@@ -1544,10 +1541,7 @@ namespace MediaBrowser.Controller.Entities
         /// <exception cref="ArgumentNullException">If user is null.</exception>
         public bool IsParentalAllowed(User user)
         {
-            if (user == null)
-            {
-                throw new ArgumentNullException(nameof(user));
-            }
+            ArgumentNullException.ThrowIfNull(user);
 
             if (!IsVisibleViaTags(user))
             {
@@ -1667,10 +1661,7 @@ namespace MediaBrowser.Controller.Entities
         /// <exception cref="ArgumentNullException"><paramref name="user" /> is <c>null</c>.</exception>
         public virtual bool IsVisible(User user)
         {
-            if (user == null)
-            {
-                throw new ArgumentNullException(nameof(user));
-            }
+            ArgumentNullException.ThrowIfNull(user);
 
             return IsParentalAllowed(user);
         }
@@ -1842,10 +1833,7 @@ namespace MediaBrowser.Controller.Entities
             DateTime? datePlayed,
             bool resetPosition)
         {
-            if (user == null)
-            {
-                throw new ArgumentNullException(nameof(user));
-            }
+            ArgumentNullException.ThrowIfNull(user);
 
             var data = UserDataManager.GetUserData(user, this);
 
@@ -1876,10 +1864,7 @@ namespace MediaBrowser.Controller.Entities
         /// <exception cref="ArgumentNullException">Throws if user is null.</exception>
         public virtual void MarkUnplayed(User user)
         {
-            if (user == null)
-            {
-                throw new ArgumentNullException(nameof(user));
-            }
+            ArgumentNullException.ThrowIfNull(user);
 
             var data = UserDataManager.GetUserData(user, this);
 
@@ -2110,10 +2095,7 @@ namespace MediaBrowser.Controller.Entities
         /// <returns>Image index.</returns>
         public int GetImageIndex(ItemImageInfo image)
         {
-            if (image == null)
-            {
-                throw new ArgumentNullException(nameof(image));
-            }
+            ArgumentNullException.ThrowIfNull(image);
 
             if (image.Type == ImageType.Chapter)
             {
@@ -2320,10 +2302,7 @@ namespace MediaBrowser.Controller.Entities
 
         public virtual bool IsUnplayed(User user)
         {
-            if (user == null)
-            {
-                throw new ArgumentNullException(nameof(user));
-            }
+            ArgumentNullException.ThrowIfNull(user);
 
             var userdata = UserDataManager.GetUserData(user, this);
 

+ 2 - 8
MediaBrowser.Controller/Entities/BaseItemExtensions.cs

@@ -71,15 +71,9 @@ namespace MediaBrowser.Controller.Entities
             where T : BaseItem
             where TU : BaseItem
         {
-            if (source == null)
-            {
-                throw new ArgumentNullException(nameof(source));
-            }
+            ArgumentNullException.ThrowIfNull(source);
 
-            if (dest == null)
-            {
-                throw new ArgumentNullException(nameof(dest));
-            }
+            ArgumentNullException.ThrowIfNull(dest);
 
             var destProps = typeof(TU).GetProperties().Where(x => x.CanWrite).ToList();
 

+ 4 - 16
MediaBrowser.Controller/Entities/Folder.cs

@@ -1023,10 +1023,7 @@ namespace MediaBrowser.Controller.Entities
             IServerConfigurationManager configurationManager,
             ICollectionManager collectionManager)
         {
-            if (items == null)
-            {
-                throw new ArgumentNullException(nameof(items));
-            }
+            ArgumentNullException.ThrowIfNull(items);
 
             if (CollapseBoxSetItems(query, queryParent, user, configurationManager))
             {
@@ -1273,20 +1270,14 @@ namespace MediaBrowser.Controller.Entities
 
         public List<BaseItem> GetChildren(User user, bool includeLinkedChildren)
         {
-            if (user == null)
-            {
-                throw new ArgumentNullException(nameof(user));
-            }
+            ArgumentNullException.ThrowIfNull(user);
 
             return GetChildren(user, includeLinkedChildren, null);
         }
 
         public virtual List<BaseItem> GetChildren(User user, bool includeLinkedChildren, InternalItemsQuery query)
         {
-            if (user == null)
-            {
-                throw new ArgumentNullException(nameof(user));
-            }
+            ArgumentNullException.ThrowIfNull(user);
 
             // the true root should return our users root folder children
             if (IsPhysicalRoot)
@@ -1367,10 +1358,7 @@ namespace MediaBrowser.Controller.Entities
 
         public virtual IEnumerable<BaseItem> GetRecursiveChildren(User user, InternalItemsQuery query)
         {
-            if (user == null)
-            {
-                throw new ArgumentNullException(nameof(user));
-            }
+            ArgumentNullException.ThrowIfNull(user);
 
             var result = new Dictionary<Guid, BaseItem>();
 

+ 1 - 4
MediaBrowser.Controller/Entities/PeopleHelper.cs

@@ -11,10 +11,7 @@ namespace MediaBrowser.Controller.Entities
     {
         public static void AddPerson(List<PersonInfo> people, PersonInfo person)
         {
-            if (person == null)
-            {
-                throw new ArgumentNullException(nameof(person));
-            }
+            ArgumentNullException.ThrowIfNull(person);
 
             if (string.IsNullOrEmpty(person.Name))
             {

+ 1 - 4
MediaBrowser.Controller/IO/FileData.cs

@@ -40,10 +40,7 @@ namespace MediaBrowser.Controller.IO
                 throw new ArgumentNullException(nameof(path));
             }
 
-            if (args == null)
-            {
-                throw new ArgumentNullException(nameof(args));
-            }
+            ArgumentNullException.ThrowIfNull(args);
 
             var entries = directoryService.GetFileSystemEntries(path);
 

+ 2 - 8
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs

@@ -5105,15 +5105,9 @@ namespace MediaBrowser.Controller.MediaEncoding
             MediaSourceInfo mediaSource,
             string requestedUrl)
         {
-            if (state == null)
-            {
-                throw new ArgumentNullException(nameof(state));
-            }
+            ArgumentNullException.ThrowIfNull(state);
 
-            if (mediaSource == null)
-            {
-                throw new ArgumentNullException(nameof(mediaSource));
-            }
+            ArgumentNullException.ThrowIfNull(mediaSource);
 
             var path = mediaSource.Path;
             var protocol = mediaSource.Protocol;

+ 2 - 8
MediaBrowser.Controller/Net/BasePeriodicWebSocketListener.cs

@@ -38,10 +38,7 @@ namespace MediaBrowser.Controller.Net
 
         protected BasePeriodicWebSocketListener(ILogger<BasePeriodicWebSocketListener<TReturnDataType, TStateType>> logger)
         {
-            if (logger == null)
-            {
-                throw new ArgumentNullException(nameof(logger));
-            }
+            ArgumentNullException.ThrowIfNull(logger);
 
             Logger = logger;
         }
@@ -77,10 +74,7 @@ namespace MediaBrowser.Controller.Net
         /// <returns>Task.</returns>
         public Task ProcessMessageAsync(WebSocketMessageInfo message)
         {
-            if (message == null)
-            {
-                throw new ArgumentNullException(nameof(message));
-            }
+            ArgumentNullException.ThrowIfNull(message);
 
             if (message.MessageType == StartType)
             {

+ 1 - 4
MediaBrowser.LocalMetadata/Parsers/BaseItemXmlParser.cs

@@ -53,10 +53,7 @@ namespace MediaBrowser.LocalMetadata.Parsers
         /// <exception cref="ArgumentNullException">Item is null.</exception>
         public void Fetch(MetadataResult<T> item, string metadataFile, CancellationToken cancellationToken)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             if (string.IsNullOrEmpty(metadataFile))
             {

+ 1 - 4
MediaBrowser.MediaEncoding/Attachments/AttachmentExtractor.cs

@@ -52,10 +52,7 @@ namespace MediaBrowser.MediaEncoding.Attachments
         /// <inheritdoc />
         public async Task<(MediaAttachment Attachment, Stream Stream)> GetAttachment(BaseItem item, string mediaSourceId, int attachmentStreamIndex, CancellationToken cancellationToken)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             if (string.IsNullOrWhiteSpace(mediaSourceId))
             {

+ 1 - 4
MediaBrowser.MediaEncoding/Probing/FFProbeHelpers.cs

@@ -15,10 +15,7 @@ namespace MediaBrowser.MediaEncoding.Probing
         /// <param name="result">The result.</param>
         public static void NormalizeFFProbeResult(InternalMediaInfoResult result)
         {
-            if (result == null)
-            {
-                throw new ArgumentNullException(nameof(result));
-            }
+            ArgumentNullException.ThrowIfNull(result);
 
             if (result.Format?.Tags != null)
             {

+ 1 - 4
MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs

@@ -120,10 +120,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
 
         async Task<Stream> ISubtitleEncoder.GetSubtitles(BaseItem item, string mediaSourceId, int subtitleStreamIndex, string outputFormat, long startTimeTicks, long endTimeTicks, bool preserveOriginalTimestamps, CancellationToken cancellationToken)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             if (string.IsNullOrWhiteSpace(mediaSourceId))
             {

+ 1 - 4
MediaBrowser.Model/Cryptography/PasswordHash.cs

@@ -29,10 +29,7 @@ namespace MediaBrowser.Model.Cryptography
 
         public PasswordHash(string id, byte[] hash, byte[] salt, Dictionary<string, string> parameters)
         {
-            if (id == null)
-            {
-                throw new ArgumentNullException(nameof(id));
-            }
+            ArgumentNullException.ThrowIfNull(id);
 
             if (id.Length == 0)
             {

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

@@ -565,10 +565,7 @@ namespace MediaBrowser.Model.Dlna
 
         private StreamInfo BuildVideoItem(MediaSourceInfo item, VideoOptions options)
         {
-            if (item == null)
-            {
-                throw new ArgumentNullException(nameof(item));
-            }
+            ArgumentNullException.ThrowIfNull(item);
 
             StreamInfo playlistItem = new StreamInfo
             {

+ 3 - 12
MediaBrowser.Model/Entities/ProviderIdsExtensions.cs

@@ -28,10 +28,7 @@ namespace MediaBrowser.Model.Entities
         /// <returns><c>true</c> if a provider id with the given name was found; otherwise <c>false</c>.</returns>
         public static bool HasProviderId(this IHasProviderIds instance, string name)
         {
-            if (instance == null)
-            {
-                throw new ArgumentNullException(nameof(instance));
-            }
+            ArgumentNullException.ThrowIfNull(instance);
 
             return instance.TryGetProviderId(name, out _);
         }
@@ -56,10 +53,7 @@ namespace MediaBrowser.Model.Entities
         /// <returns><c>true</c> if a provider id with the given name was found; otherwise <c>false</c>.</returns>
         public static bool TryGetProviderId(this IHasProviderIds instance, string name, [NotNullWhen(true)] out string? id)
         {
-            if (instance == null)
-            {
-                throw new ArgumentNullException(nameof(instance));
-            }
+            ArgumentNullException.ThrowIfNull(instance);
 
             if (instance.ProviderIds == null)
             {
@@ -121,10 +115,7 @@ namespace MediaBrowser.Model.Entities
         /// <param name="value">The value.</param>
         public static void SetProviderId(this IHasProviderIds instance, string name, string? value)
         {
-            if (instance == null)
-            {
-                throw new ArgumentNullException(nameof(instance));
-            }
+            ArgumentNullException.ThrowIfNull(instance);
 
             // If it's null remove the key from the dictionary
             if (string.IsNullOrEmpty(value))

+ 1 - 4
src/Jellyfin.Extensions/EnumerableExtensions.cs

@@ -18,10 +18,7 @@ namespace Jellyfin.Extensions
         /// <exception cref="ArgumentNullException">The source is null.</exception>
         public static bool Contains(this IEnumerable<string> source, ReadOnlySpan<char> value, StringComparison stringComparison)
         {
-            if (source == null)
-            {
-                throw new ArgumentNullException(nameof(source));
-            }
+            ArgumentNullException.ThrowIfNull(source);
 
             if (source is IList<string> list)
             {

+ 12 - 48
tests/Jellyfin.Networking.Tests/NetworkParseTests.cs

@@ -103,10 +103,7 @@ namespace Jellyfin.Networking.Tests
             "[192.158.0.0/16,192.0.0.0/8]")]
         public void TestCollections(string settings, string result1, string result2, string result3, string result4, string result5)
         {
-            if (settings == null)
-            {
-                throw new ArgumentNullException(nameof(settings));
-            }
+            ArgumentNullException.ThrowIfNull(settings);
 
             var conf = new NetworkConfiguration()
             {
@@ -155,20 +152,11 @@ namespace Jellyfin.Networking.Tests
         [InlineData("127.0.0.1", "127.0.0.1/8", "[127.0.0.1/32]")]
         public void UnionCheck(string settings, string compare, string result)
         {
-            if (settings == null)
-            {
-                throw new ArgumentNullException(nameof(settings));
-            }
+            ArgumentNullException.ThrowIfNull(settings);
 
-            if (compare == null)
-            {
-                throw new ArgumentNullException(nameof(compare));
-            }
+            ArgumentNullException.ThrowIfNull(compare);
 
-            if (result == null)
-            {
-                throw new ArgumentNullException(nameof(result));
-            }
+            ArgumentNullException.ThrowIfNull(result);
 
             var conf = new NetworkConfiguration()
             {
@@ -264,20 +252,11 @@ namespace Jellyfin.Networking.Tests
 
         public void TestCollectionEquality(string source, string dest, string result)
         {
-            if (source == null)
-            {
-                throw new ArgumentNullException(nameof(source));
-            }
+            ArgumentNullException.ThrowIfNull(source);
 
-            if (dest == null)
-            {
-                throw new ArgumentNullException(nameof(dest));
-            }
+            ArgumentNullException.ThrowIfNull(dest);
 
-            if (result == null)
-            {
-                throw new ArgumentNullException(nameof(result));
-            }
+            ArgumentNullException.ThrowIfNull(result);
 
             var conf = new NetworkConfiguration()
             {
@@ -331,20 +310,11 @@ namespace Jellyfin.Networking.Tests
         [InlineData("", "", false, "eth16")]
         public void TestBindInterfaces(string source, string bindAddresses, bool ipv6enabled, string result)
         {
-            if (source == null)
-            {
-                throw new ArgumentNullException(nameof(source));
-            }
+            ArgumentNullException.ThrowIfNull(source);
 
-            if (bindAddresses == null)
-            {
-                throw new ArgumentNullException(nameof(bindAddresses));
-            }
+            ArgumentNullException.ThrowIfNull(bindAddresses);
 
-            if (result == null)
-            {
-                throw new ArgumentNullException(nameof(result));
-            }
+            ArgumentNullException.ThrowIfNull(result);
 
             var conf = new NetworkConfiguration()
             {
@@ -403,15 +373,9 @@ namespace Jellyfin.Networking.Tests
         [InlineData("192.168.1.1", "192.168.1.0/24", "", false, "eth16=http://helloworld.com", "http://helloworld.com")]
         public void TestBindInterfaceOverrides(string source, string lan, string bindAddresses, bool ipv6enabled, string publishedServers, string result)
         {
-            if (lan == null)
-            {
-                throw new ArgumentNullException(nameof(lan));
-            }
+            ArgumentNullException.ThrowIfNull(lan);
 
-            if (bindAddresses == null)
-            {
-                throw new ArgumentNullException(nameof(bindAddresses));
-            }
+            ArgumentNullException.ThrowIfNull(bindAddresses);
 
             var conf = new NetworkConfiguration()
             {