aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Rogers <1337joe@gmail.com>2022-03-04 15:58:01 +0100
committerJoe Rogers <1337joe@gmail.com>2022-03-04 15:58:01 +0100
commitdad7a6fdf6f345969f10942257af6b3d0d61fd9a (patch)
treeb896a9d1f2989404c818b5ad16f7d7dd2da1d74f
parent3205e97e1e7ad6e3e84797f9575b6958d5dfc8b0 (diff)
Switch to using spans for string comparison
-rw-r--r--MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs13
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)
{