track progress for any item that supports the feature
This commit is contained in:
parent
f1fc6ef59f
commit
02928128b9
|
@ -226,24 +226,21 @@ namespace Emby.Server.Implementations.Library
|
|||
{
|
||||
var pctIn = decimal.Divide(positionTicks, runtimeTicks) * 100;
|
||||
|
||||
// Don't track in very beginning
|
||||
if (pctIn < _config.Configuration.MinResumePct)
|
||||
{
|
||||
// ignore progress during the beginning
|
||||
positionTicks = 0;
|
||||
}
|
||||
|
||||
// If we're at the end, assume completed
|
||||
else if (pctIn > _config.Configuration.MaxResumePct || positionTicks >= runtimeTicks)
|
||||
{
|
||||
// mark as completed close to the end
|
||||
positionTicks = 0;
|
||||
data.Played = playedToCompletion = true;
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
// Enforce MinResumeDuration
|
||||
var durationSeconds = TimeSpan.FromTicks(runtimeTicks).TotalSeconds;
|
||||
|
||||
if (durationSeconds < _config.Configuration.MinResumeDurationSeconds)
|
||||
{
|
||||
positionTicks = 0;
|
||||
|
@ -263,6 +260,7 @@ namespace Emby.Server.Implementations.Library
|
|||
positionTicks = 0;
|
||||
data.Played = false;
|
||||
}
|
||||
|
||||
if (!item.SupportsPositionTicksResume)
|
||||
{
|
||||
positionTicks = 0;
|
||||
|
|
|
@ -667,12 +667,9 @@ namespace Emby.Server.Implementations.Session
|
|||
data.PlayCount++;
|
||||
data.LastPlayedDate = DateTime.UtcNow;
|
||||
|
||||
if (item.SupportsPlayedStatus)
|
||||
if (item.SupportsPlayedStatus && !item.SupportsPositionTicksResume)
|
||||
{
|
||||
if (!(item is Video))
|
||||
{
|
||||
data.Played = true;
|
||||
}
|
||||
data.Played = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -769,7 +766,6 @@ namespace Emby.Server.Implementations.Session
|
|||
{
|
||||
_userDataManager.SaveUserData(user, item, data, UserDataSaveReason.PlaybackProgress, CancellationToken.None);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static bool UpdatePlaybackSettings(User user, PlaybackProgressInfo info, UserItemData data)
|
||||
|
|
Loading…
Reference in New Issue
Block a user