Преглед изворни кода

Backport pull request #11788 from jellyfin/release-10.9.z

Override too small trickplay image interval

Original-merge: 60232ce9be8d26926ed81294b93a77da02b5a2fe

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
gnattu пре 1 година
родитељ
комит
e6dab2fa11
1 измењених фајлова са 7 додато и 1 уклоњено
  1. 7 1
      Jellyfin.Server.Implementations/Trickplay/TrickplayManager.cs

+ 7 - 1
Jellyfin.Server.Implementations/Trickplay/TrickplayManager.cs

@@ -81,6 +81,12 @@ public class TrickplayManager : ITrickplayManager
         _logger.LogDebug("Trickplay refresh for {ItemId} (replace existing: {Replace})", video.Id, replace);
 
         var options = _config.Configuration.TrickplayOptions;
+        if (options.Interval < 1000)
+        {
+            _logger.LogWarning("Trickplay image interval {Interval} is too small, reset to the minimum valid value of 1000", options.Interval);
+            options.Interval = 1000;
+        }
+
         foreach (var width in options.WidthResolutions)
         {
             cancellationToken.ThrowIfCancellationRequested();
@@ -267,7 +273,7 @@ public class TrickplayManager : ITrickplayManager
             }
 
             // Update bitrate
-            var bitrate = (int)Math.Ceiling((decimal)new FileInfo(tilePath).Length * 8 / trickplayInfo.TileWidth / trickplayInfo.TileHeight / (trickplayInfo.Interval / 1000));
+            var bitrate = (int)Math.Ceiling(new FileInfo(tilePath).Length * 8m / trickplayInfo.TileWidth / trickplayInfo.TileHeight / (trickplayInfo.Interval / 1000m));
             trickplayInfo.Bandwidth = Math.Max(trickplayInfo.Bandwidth, bitrate);
         }