diff options
| author | Joe Rogers <1337joe@gmail.com> | 2022-03-04 15:58:01 +0100 |
|---|---|---|
| committer | Joe Rogers <1337joe@gmail.com> | 2022-03-04 15:58:01 +0100 |
| commit | dad7a6fdf6f345969f10942257af6b3d0d61fd9a (patch) | |
| tree | b896a9d1f2989404c818b5ad16f7d7dd2da1d74f | |
| parent | 3205e97e1e7ad6e3e84797f9575b6958d5dfc8b0 (diff) | |
Switch to using spans for string comparison
| -rw-r--r-- | MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs b/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs index d1594a967..933827207 100644 --- a/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs +++ b/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs @@ -149,8 +149,6 @@ namespace MediaBrowser.Providers.MediaInfo return Array.Empty<ExternalPathParserResult>(); } - var externalPathInfos = new List<ExternalPathParserResult>(); - var files = directoryService.GetFilePaths(folder, clearCache).ToList(); var internalMetadataPath = video.GetInternalMetadataPath(); if (_fileSystem.DirectoryExists(internalMetadataPath)) @@ -163,14 +161,15 @@ namespace MediaBrowser.Providers.MediaInfo return Array.Empty<ExternalPathParserResult>(); } + var externalPathInfos = new List<ExternalPathParserResult>(); + ReadOnlySpan<char> prefix = video.FileNameWithoutExtension; foreach (var file in files) { - var prefixLength = video.FileNameWithoutExtension.Length; - var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(file); - if (video.FileNameWithoutExtension.Equals(fileNameWithoutExtension[..prefixLength], StringComparison.OrdinalIgnoreCase) - && (fileNameWithoutExtension.Length == prefixLength || _namingOptions.MediaFlagDelimiters.Contains(fileNameWithoutExtension[prefixLength]))) + var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(file.AsSpan()); + if (prefix.Equals(fileNameWithoutExtension[..prefix.Length], StringComparison.OrdinalIgnoreCase) + && (fileNameWithoutExtension.Length == prefix.Length || _namingOptions.MediaFlagDelimiters.Contains(fileNameWithoutExtension[prefix.Length]))) { - var externalPathInfo = _externalPathParser.ParseFile(file, fileNameWithoutExtension[prefixLength..]); + var externalPathInfo = _externalPathParser.ParseFile(file, fileNameWithoutExtension[prefix.Length..].ToString()); if (externalPathInfo != null) { |
