From 90736ee346e1e78095667d060826c22e57525bb3 Mon Sep 17 00:00:00 2001 From: cvium Date: Sun, 16 Jan 2022 22:10:22 +0100 Subject: Add pagination and fixes --- src/Jellyfin.MediaEncoding.Hls/Cache/CacheDecorator.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/Jellyfin.MediaEncoding.Hls/Cache') diff --git a/src/Jellyfin.MediaEncoding.Hls/Cache/CacheDecorator.cs b/src/Jellyfin.MediaEncoding.Hls/Cache/CacheDecorator.cs index f5f79ddc5..09816c960 100644 --- a/src/Jellyfin.MediaEncoding.Hls/Cache/CacheDecorator.cs +++ b/src/Jellyfin.MediaEncoding.Hls/Cache/CacheDecorator.cs @@ -8,6 +8,7 @@ using Jellyfin.MediaEncoding.Hls.Extractors; using Jellyfin.MediaEncoding.Keyframes; using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Extensions; +using Microsoft.Extensions.Logging; namespace Jellyfin.MediaEncoding.Hls.Cache; @@ -15,6 +16,8 @@ namespace Jellyfin.MediaEncoding.Hls.Cache; public class CacheDecorator : IKeyframeExtractor { private readonly IKeyframeExtractor _keyframeExtractor; + private readonly ILogger _logger; + private readonly string _keyframeExtractorName; private static readonly JsonSerializerOptions _jsonOptions = JsonDefaults.Options; private readonly string _keyframeCachePath; @@ -23,11 +26,15 @@ public class CacheDecorator : IKeyframeExtractor /// /// An instance of the interface. /// An instance of the interface. - public CacheDecorator(IApplicationPaths applicationPaths, IKeyframeExtractor keyframeExtractor) + /// An instance of the interface. + public CacheDecorator(IApplicationPaths applicationPaths, IKeyframeExtractor keyframeExtractor, ILogger logger) { - _keyframeExtractor = keyframeExtractor; ArgumentNullException.ThrowIfNull(applicationPaths); + ArgumentNullException.ThrowIfNull(keyframeExtractor); + _keyframeExtractor = keyframeExtractor; + _logger = logger; + _keyframeExtractorName = keyframeExtractor.GetType().Name; // TODO make the dir configurable _keyframeCachePath = Path.Combine(applicationPaths.DataPath, "keyframes"); } @@ -48,9 +55,11 @@ public class CacheDecorator : IKeyframeExtractor if (!_keyframeExtractor.TryExtractKeyframes(filePath, out var result)) { + _logger.LogDebug("Failed to extract keyframes using {ExtractorName}", _keyframeExtractorName); return false; } + _logger.LogDebug("Successfully extracted keyframes using {ExtractorName}", _keyframeExtractorName); keyframeData = result; SaveToCache(cachePath, keyframeData); return true; -- cgit v1.2.3