aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs
diff options
context:
space:
mode:
authorJoe Rogers <1337joe@gmail.com>2021-11-27 20:13:21 +0100
committerJoe Rogers <1337joe@gmail.com>2021-11-27 20:13:21 +0100
commit4a20ae6cb414e5ec06ea17dca2a1b44db4d187af (patch)
tree29ffa95c040487090972afb434508eef9c050e52 /MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs
parent3eec137100856f5c44b9105f47fc11cda5a6b0c8 (diff)
Allow default/forced tag without setting language
Diffstat (limited to 'MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs')
-rw-r--r--MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs21
1 files changed, 17 insertions, 4 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs b/MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs
index dd4a5f061..d0512ce57 100644
--- a/MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs
+++ b/MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs
@@ -120,6 +120,12 @@ namespace MediaBrowser.Providers.MediaInfo
while (languageSpan.Length > 0)
{
var lastDot = languageSpan.LastIndexOf('.');
+ if (lastDot < videoFileNameWithoutExtension.Length)
+ {
+ languageSpan = ReadOnlySpan<char>.Empty;
+ break;
+ }
+
var currentSlice = languageSpan[lastDot..];
if (currentSlice.Equals(".default", StringComparison.OrdinalIgnoreCase)
|| currentSlice.Equals(".forced", StringComparison.OrdinalIgnoreCase)
@@ -133,12 +139,19 @@ namespace MediaBrowser.Providers.MediaInfo
break;
}
- // Try to translate to three character code
- // Be flexible and check against both the full and three character versions
var language = languageSpan.ToString();
- var culture = _localization.FindLanguageInfo(language);
+ if (string.IsNullOrWhiteSpace(language))
+ {
+ language = null;
+ }
+ else
+ {
+ // Try to translate to three character code
+ // Be flexible and check against both the full and three character versions
+ var culture = _localization.FindLanguageInfo(language);
- language = culture == null ? language : culture.ThreeLetterISOLanguageName;
+ language = culture == null ? language : culture.ThreeLetterISOLanguageName;
+ }
mediaStream = new MediaStream
{