aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Dto/MediaStreamSelector.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Dto/MediaStreamSelector.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Dto/MediaStreamSelector.cs9
1 files changed, 7 insertions, 2 deletions
diff --git a/MediaBrowser.Server.Implementations/Dto/MediaStreamSelector.cs b/MediaBrowser.Server.Implementations/Dto/MediaStreamSelector.cs
index 10c78b300..12e70598f 100644
--- a/MediaBrowser.Server.Implementations/Dto/MediaStreamSelector.cs
+++ b/MediaBrowser.Server.Implementations/Dto/MediaStreamSelector.cs
@@ -38,7 +38,7 @@ namespace MediaBrowser.Server.Implementations.Dto
SubtitlePlaybackMode mode,
string audioTrackLanguage)
{
- var languages = preferredLanguages as List<string> ?? preferredLanguages.ToList();
+ var languages = preferredLanguages.ToList();
streams = GetSortedStreams(streams, MediaStreamType.Subtitle, languages).ToList();
var full = streams.Where(s => !s.IsForced);
@@ -87,7 +87,12 @@ namespace MediaBrowser.Server.Implementations.Dto
.Where(i => i.Type == type);
// Give some preferance to external text subs for better performance
- return orderStreams.OrderBy(i => languagePreferences.FindIndex(l => string.Equals(i.Language, l, StringComparison.OrdinalIgnoreCase)))
+ return orderStreams.OrderBy(i =>
+ {
+ var index = languagePreferences.FindIndex(l => string.Equals(i.Language, l, StringComparison.OrdinalIgnoreCase));
+
+ return index == -1 ? 100 : index;
+ })
.ThenBy(i => i.IsDefault)
.ThenBy(i => !i.IsGraphicalSubtitleStream)
.ThenBy(i => i.IsExternal)