diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-02-21 17:36:54 -0500 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2016-02-21 17:36:54 -0500 |
| commit | 36304972375ec857772ed00b1fd02ee51595b94a (patch) | |
| tree | ebb9a7f0cb507fb391a563622fdd6bfb496d49ff /MediaBrowser.Server.Implementations/Session | |
| parent | 95366710b798d54477a8ffa95933d21abf35aba0 (diff) | |
| parent | c3361458adfd9fcdbf1431de52826f05feaf1d11 (diff) | |
Merge pull request #1487 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Server.Implementations/Session')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Session/SessionManager.cs | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs index 70f60f31a..1074796c0 100644 --- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs +++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs @@ -680,7 +680,7 @@ namespace MediaBrowser.Server.Implementations.Session foreach (var user in users) { - await OnPlaybackProgress(user.Id, key, libraryItem, info).ConfigureAwait(false); + await OnPlaybackProgress(user, key, libraryItem, info).ConfigureAwait(false); } } @@ -712,9 +712,9 @@ namespace MediaBrowser.Server.Implementations.Session StartIdleCheckTimer(); } - private async Task OnPlaybackProgress(Guid userId, string userDataKey, BaseItem item, PlaybackProgressInfo info) + private async Task OnPlaybackProgress(User user, string userDataKey, BaseItem item, PlaybackProgressInfo info) { - var data = _userDataRepository.GetUserData(userId, userDataKey); + var data = _userDataRepository.GetUserData(user.Id, userDataKey); var positionTicks = info.PositionTicks; @@ -722,16 +722,31 @@ namespace MediaBrowser.Server.Implementations.Session { _userDataRepository.UpdatePlayState(item, data, positionTicks.Value); - UpdatePlaybackSettings(info, data); + UpdatePlaybackSettings(user, info, data); - await _userDataRepository.SaveUserData(userId, item, data, UserDataSaveReason.PlaybackProgress, CancellationToken.None).ConfigureAwait(false); + await _userDataRepository.SaveUserData(user.Id, item, data, UserDataSaveReason.PlaybackProgress, CancellationToken.None).ConfigureAwait(false); } } - private void UpdatePlaybackSettings(PlaybackProgressInfo info, UserItemData data) + private void UpdatePlaybackSettings(User user, PlaybackProgressInfo info, UserItemData data) { - data.AudioStreamIndex = info.AudioStreamIndex; - data.SubtitleStreamIndex = info.SubtitleStreamIndex; + if (user.Configuration.RememberAudioSelections) + { + data.AudioStreamIndex = info.AudioStreamIndex; + } + else + { + data.AudioStreamIndex = null; + } + + if (user.Configuration.RememberSubtitleSelections) + { + data.SubtitleStreamIndex = info.SubtitleStreamIndex; + } + else + { + data.SubtitleStreamIndex = null; + } } /// <summary> |
