From fbeec04da725266ce7c4a57a7c598badb861b0fa Mon Sep 17 00:00:00 2001 From: jgriff6 <74262798+jgriff6@users.noreply.github.com> Date: Fri, 7 Oct 2022 14:17:20 +0100 Subject: [PATCH] Polish smart subtitle selection logic --- .../Library/MediaStreamSelector.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Emby.Server.Implementations/Library/MediaStreamSelector.cs b/Emby.Server.Implementations/Library/MediaStreamSelector.cs index 1e6a7c51eb..c77290aebf 100644 --- a/Emby.Server.Implementations/Library/MediaStreamSelector.cs +++ b/Emby.Server.Implementations/Library/MediaStreamSelector.cs @@ -56,9 +56,6 @@ namespace Emby.Server.Implementations.Library } else if (mode == SubtitlePlaybackMode.Smart) { - // Respect forced flag. - stream = sortedStreams.FirstOrDefault(x => x.IsForced); - // Only attempt to load subtitles if the audio language is not one of the user's preferred subtitle languages. // If no subtitles of preferred language available, use default behaviour. if (!preferredLanguages.Contains(audioTrackLanguage, StringComparison.OrdinalIgnoreCase)) @@ -66,6 +63,11 @@ namespace Emby.Server.Implementations.Library stream = sortedStreams.FirstOrDefault(x => preferredLanguages.Contains(x.Language, StringComparison.OrdinalIgnoreCase)) ?? sortedStreams.FirstOrDefault(x => x.IsExternal || x.IsForced || x.IsDefault); } + else + { + // Respect forced flag. + stream = sortedStreams.FirstOrDefault(x => x.IsForced); + } } else if (mode == SubtitlePlaybackMode.Always) {