diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs index 51608a899e..8db0609d9d 100644 --- a/MediaBrowser.Api/Images/ImageService.cs +++ b/MediaBrowser.Api/Images/ImageService.cs @@ -668,7 +668,6 @@ namespace MediaBrowser.Api.Images } var contentType = MimeTypes.GetMimeType(imagePath); - var dateLastModified = (supportedImageEnhancers.Select(e => e.LastConfigurationChange(item, request.Type)).Concat(new[] { originalFileImageDateModified })).Max(); var cacheGuid = kernel.ImageManager.GetImageCacheTag(imagePath, originalFileImageDateModified, supportedImageEnhancers, item, request.Type); @@ -679,7 +678,7 @@ namespace MediaBrowser.Api.Images cacheDuration = TimeSpan.FromDays(365); } - return ToCachedResult(cacheGuid, dateLastModified, cacheDuration, () => new ImageWriter + return ToCachedResult(cacheGuid, originalFileImageDateModified, cacheDuration, () => new ImageWriter { Item = item, Request = request, diff --git a/MediaBrowser.Controller/Drawing/ImageManager.cs b/MediaBrowser.Controller/Drawing/ImageManager.cs index 2d2bd5ae8a..59b5eb8a3b 100644 --- a/MediaBrowser.Controller/Drawing/ImageManager.cs +++ b/MediaBrowser.Controller/Drawing/ImageManager.cs @@ -642,7 +642,7 @@ namespace MediaBrowser.Controller.Drawing } // Cache name is created with supported enhancers combined with the last config change so we pick up new config changes - var cacheKeys = imageEnhancers.Select(i => i.GetType().Name + i.LastConfigurationChange(item, imageType).Ticks).ToList(); + var cacheKeys = imageEnhancers.Select(i => i.ConfigurationCacheKey(item, imageType)).ToList(); cacheKeys.Add(originalImagePath + dateModified.Ticks); return string.Join("|", cacheKeys.ToArray()).GetMD5(); diff --git a/MediaBrowser.Controller/Providers/IImageEnhancer.cs b/MediaBrowser.Controller/Providers/IImageEnhancer.cs index 24296b6641..b4700aa833 100644 --- a/MediaBrowser.Controller/Providers/IImageEnhancer.cs +++ b/MediaBrowser.Controller/Providers/IImageEnhancer.cs @@ -24,12 +24,12 @@ namespace MediaBrowser.Controller.Providers MetadataProviderPriority Priority { get; } /// - /// Return the date of the last configuration change affecting the provided baseitem and image type + /// Return a key incorporating all configuration information related to this item /// /// The item. /// Type of the image. - /// Date of last config change - DateTime LastConfigurationChange(BaseItem item, ImageType imageType); + /// Cache key relating to the current state of this item and configuration + string ConfigurationCacheKey(BaseItem item, ImageType imageType); /// /// Gets the size of the enhanced image.