remember user audio/subtitle selections

This commit is contained in:
Luke Pulverenti
2016-02-20 18:06:57 -05:00
parent dacdfd272a
commit e700aff047
7 changed files with 97 additions and 20 deletions

View File

@@ -680,7 +680,7 @@ namespace MediaBrowser.Server.Implementations.Session
foreach (var user in users)
{
await OnPlaybackProgress(user.Id, key, libraryItem, info.PositionTicks).ConfigureAwait(false);
await OnPlaybackProgress(user.Id, key, libraryItem, info).ConfigureAwait(false);
}
}
@@ -712,18 +712,28 @@ namespace MediaBrowser.Server.Implementations.Session
StartIdleCheckTimer();
}
private async Task OnPlaybackProgress(Guid userId, string userDataKey, BaseItem item, long? positionTicks)
private async Task OnPlaybackProgress(Guid userId, string userDataKey, BaseItem item, PlaybackProgressInfo info)
{
var data = _userDataRepository.GetUserData(userId, userDataKey);
var positionTicks = info.PositionTicks;
if (positionTicks.HasValue)
{
_userDataRepository.UpdatePlayState(item, data, positionTicks.Value);
UpdatePlaybackSettings(info, data);
await _userDataRepository.SaveUserData(userId, item, data, UserDataSaveReason.PlaybackProgress, CancellationToken.None).ConfigureAwait(false);
}
}
private void UpdatePlaybackSettings(PlaybackProgressInfo info, UserItemData data)
{
data.AudioStreamIndex = info.AudioStreamIndex;
data.SubtitleStreamIndex = info.SubtitleStreamIndex;
}
/// <summary>
/// Used to report that playback has ended for an item
/// </summary>