diff options
| author | nicknsy <20588554+nicknsy@users.noreply.github.com> | 2023-02-23 18:03:22 -0800 |
|---|---|---|
| committer | Nick <20588554+nicknsy@users.noreply.github.com> | 2023-06-22 16:19:59 -0700 |
| commit | d448cc18ea14237c3fe9c2812a4eea1927a2d83f (patch) | |
| tree | 896b4f792f77b7e7683d2b64c45fa86d77796db7 | |
| parent | 6c649a7e723454e94303d95d178e91b820ba6b50 (diff) | |
update
| -rw-r--r-- | Jellyfin.Api/Controllers/TrickplayController.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Trickplay/TrickplayManager.cs | 6 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Trickplay/TrickplayProvider.cs | 2 |
3 files changed, 5 insertions, 6 deletions
diff --git a/Jellyfin.Api/Controllers/TrickplayController.cs b/Jellyfin.Api/Controllers/TrickplayController.cs index 389eb43ff..46289f170 100644 --- a/Jellyfin.Api/Controllers/TrickplayController.cs +++ b/Jellyfin.Api/Controllers/TrickplayController.cs @@ -128,6 +128,7 @@ public class TrickplayController : BaseJellyfinApiController var layout = tilesInfo.TileWidth.ToString(CultureInfo.InvariantCulture) + "x" + tilesInfo.TileHeight.ToString(CultureInfo.InvariantCulture); var tilesPerGrid = tilesInfo.TileWidth * tilesInfo.TileHeight; var tileDuration = (decimal)tilesInfo.Interval / 1000; + var infDuration = tileDuration * tilesPerGrid; var tileGridCount = (int)Math.Ceiling((decimal)tilesInfo.TileCount / tilesPerGrid); builder.AppendLine("#EXTM3U"); @@ -144,9 +145,9 @@ public class TrickplayController : BaseJellyfinApiController if (i == tileGridCount - 1) { tilesPerGrid = tilesInfo.TileCount - (i * tilesPerGrid); + infDuration = tileDuration * tilesPerGrid; } - var infDuration = tileDuration * tilesPerGrid; var url = string.Format( CultureInfo.InvariantCulture, urlFormat, diff --git a/MediaBrowser.Providers/Trickplay/TrickplayManager.cs b/MediaBrowser.Providers/Trickplay/TrickplayManager.cs index 4b4514897..cb916dfdb 100644 --- a/MediaBrowser.Providers/Trickplay/TrickplayManager.cs +++ b/MediaBrowser.Providers/Trickplay/TrickplayManager.cs @@ -127,7 +127,7 @@ namespace MediaBrowser.Providers.Trickplay // Create tiles var tilesTempDir = Path.Combine(imgTempDir, Guid.NewGuid().ToString("N")); - var tilesInfo = CreateTiles(images, width, interval, tileWidth, tileHeight, tilesTempDir, outputDir); + var tilesInfo = CreateTiles(images, width, interval, tileWidth, tileHeight, 100/* todo _config.JpegQuality*/, tilesTempDir, outputDir); // Save tiles info try @@ -166,7 +166,7 @@ namespace MediaBrowser.Providers.Trickplay } } - private TrickplayTilesInfo CreateTiles(List<FileSystemMetadata> images, int width, int interval, int tileWidth, int tileHeight, string workDir, string outputDir) + private TrickplayTilesInfo CreateTiles(List<FileSystemMetadata> images, int width, int interval, int tileWidth, int tileHeight, int quality, string workDir, string outputDir) { if (images.Count == 0) { @@ -244,7 +244,7 @@ namespace MediaBrowser.Providers.Trickplay var tileGridPath = Path.Combine(workDir, $"{imgNo}.jpg"); using (var stream = File.OpenWrite(tileGridPath)) { - tileGrid.Encode(stream, SKEncodedImageFormat.Jpeg, 100/* todo _config.JpegQuality*/); + tileGrid.Encode(stream, SKEncodedImageFormat.Jpeg, quality); } var bitrate = (int)Math.Ceiling((decimal)new FileInfo(tileGridPath).Length * 8 / tilesInfo.TileWidth / tilesInfo.TileHeight / (tilesInfo.Interval / 1000)); diff --git a/MediaBrowser.Providers/Trickplay/TrickplayProvider.cs b/MediaBrowser.Providers/Trickplay/TrickplayProvider.cs index 2b3879ca3..e4bd9e3c2 100644 --- a/MediaBrowser.Providers/Trickplay/TrickplayProvider.cs +++ b/MediaBrowser.Providers/Trickplay/TrickplayProvider.cs @@ -107,14 +107,12 @@ namespace MediaBrowser.Providers.Trickplay if (options.IsAutomated && !enableDuringScan.GetValueOrDefault(false)) { - _logger.LogDebug("exit refresh: automated - {0} enable scan - {1}", options.IsAutomated, enableDuringScan.GetValueOrDefault(false)); return ItemUpdateType.None; } // TODO: this is always blocking for metadata collection, make non-blocking option if (true) { - _logger.LogDebug("called refresh"); await _trickplayManager.RefreshTrickplayData(video, replace, cancellationToken).ConfigureAwait(false); } |
