瀏覽代碼

track progress for any item that supports the feature

dkanada 5 年之前
父節點
當前提交
02928128b9

+ 3 - 5
Emby.Server.Implementations/Library/UserDataManager.cs

@@ -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;

+ 2 - 6
Emby.Server.Implementations/Session/SessionManager.cs

@@ -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)