|
|
|
@ -269,13 +269,15 @@ namespace MediaBrowser.Server.Implementations.Library
|
|
|
|
|
{
|
|
|
|
|
var userData = item == null ? new UserItemData() : _userDataManager.GetUserData(user.Id, item.GetUserDataKey());
|
|
|
|
|
|
|
|
|
|
SetDefaultAudioStreamIndex(source, userData, user);
|
|
|
|
|
SetDefaultSubtitleStreamIndex(source, userData, user);
|
|
|
|
|
var allowRememberingSelection = item == null || item.EnableRememberingTrackSelections;
|
|
|
|
|
|
|
|
|
|
SetDefaultAudioStreamIndex(source, userData, user, allowRememberingSelection);
|
|
|
|
|
SetDefaultSubtitleStreamIndex(source, userData, user, allowRememberingSelection);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void SetDefaultSubtitleStreamIndex(MediaSourceInfo source, UserItemData userData, User user)
|
|
|
|
|
private void SetDefaultSubtitleStreamIndex(MediaSourceInfo source, UserItemData userData, User user, bool allowRememberingSelection)
|
|
|
|
|
{
|
|
|
|
|
if (userData.SubtitleStreamIndex.HasValue && user.Configuration.RememberSubtitleSelections && user.Configuration.SubtitleMode != SubtitlePlaybackMode.None)
|
|
|
|
|
if (userData.SubtitleStreamIndex.HasValue && user.Configuration.RememberSubtitleSelections && user.Configuration.SubtitleMode != SubtitlePlaybackMode.None && allowRememberingSelection)
|
|
|
|
|
{
|
|
|
|
|
var index = userData.SubtitleStreamIndex.Value;
|
|
|
|
|
// Make sure the saved index is still valid
|
|
|
|
@ -304,9 +306,9 @@ namespace MediaBrowser.Server.Implementations.Library
|
|
|
|
|
user.Configuration.SubtitleMode, audioLangage);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void SetDefaultAudioStreamIndex(MediaSourceInfo source, UserItemData userData, User user)
|
|
|
|
|
private void SetDefaultAudioStreamIndex(MediaSourceInfo source, UserItemData userData, User user, bool allowRememberingSelection)
|
|
|
|
|
{
|
|
|
|
|
if (userData.AudioStreamIndex.HasValue && user.Configuration.RememberAudioSelections)
|
|
|
|
|
if (userData.AudioStreamIndex.HasValue && user.Configuration.RememberAudioSelections && allowRememberingSelection)
|
|
|
|
|
{
|
|
|
|
|
var index = userData.AudioStreamIndex.Value;
|
|
|
|
|
// Make sure the saved index is still valid
|
|
|
|
|