aboutsummaryrefslogtreecommitdiff
path: root/Emby.Drawing/ImageProcessor.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-10-16 13:06:31 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-10-16 13:06:31 -0400
commitd577e1c7b01c45bca49cb47a1af3697f904f9e4d (patch)
tree4cc6fd08f7181722287de5041d944660b760d8a8 /Emby.Drawing/ImageProcessor.cs
parent3741eb24263de151a57e66dd6770fc82f69fe9c4 (diff)
support image stubbing
Diffstat (limited to 'Emby.Drawing/ImageProcessor.cs')
-rw-r--r--Emby.Drawing/ImageProcessor.cs28
1 files changed, 14 insertions, 14 deletions
diff --git a/Emby.Drawing/ImageProcessor.cs b/Emby.Drawing/ImageProcessor.cs
index 120a4cedb..af086ce6d 100644
--- a/Emby.Drawing/ImageProcessor.cs
+++ b/Emby.Drawing/ImageProcessor.cs
@@ -18,6 +18,7 @@ using System.Threading;
using System.Threading.Tasks;
using CommonIO;
using Emby.Drawing.Common;
+using MediaBrowser.Controller.Library;
namespace Emby.Drawing
{
@@ -53,18 +54,20 @@ namespace Emby.Drawing
private readonly IServerApplicationPaths _appPaths;
private readonly IImageEncoder _imageEncoder;
private readonly SemaphoreSlim _imageProcessingSemaphore;
+ private readonly Func<ILibraryManager> _libraryManager;
public ImageProcessor(ILogger logger,
IServerApplicationPaths appPaths,
IFileSystem fileSystem,
IJsonSerializer jsonSerializer,
IImageEncoder imageEncoder,
- int maxConcurrentImageProcesses)
+ int maxConcurrentImageProcesses, Func<ILibraryManager> libraryManager)
{
_logger = logger;
_fileSystem = fileSystem;
_jsonSerializer = jsonSerializer;
_imageEncoder = imageEncoder;
+ _libraryManager = libraryManager;
_appPaths = appPaths;
ImageEnhancers = new List<IImageEnhancer>();
@@ -158,7 +161,14 @@ namespace Emby.Drawing
throw new ArgumentNullException("options");
}
- var originalImagePath = options.Image.Path;
+ var originalImage = options.Image;
+
+ if (!originalImage.IsLocalFile)
+ {
+ originalImage = await _libraryManager().ConvertImageToLocal(options.Item, originalImage, options.ImageIndex).ConfigureAwait(false);
+ }
+
+ var originalImagePath = originalImage.Path;
if (options.HasDefaultOptions(originalImagePath) && options.Enhancers.Count == 0 && !options.CropWhiteSpace)
{
@@ -166,7 +176,7 @@ namespace Emby.Drawing
return originalImagePath;
}
- var dateModified = options.Image.DateModified;
+ var dateModified = originalImage.DateModified;
if (options.CropWhiteSpace)
{
@@ -181,7 +191,7 @@ namespace Emby.Drawing
var tuple = await GetEnhancedImage(new ItemImageInfo
{
DateModified = dateModified,
- Type = options.Image.Type,
+ Type = originalImage.Type,
Path = originalImagePath
}, options.Item, options.ImageIndex, options.Enhancers).ConfigureAwait(false);
@@ -360,16 +370,6 @@ namespace Emby.Drawing
return GetCachePath(ResizedImageCachePath, filename, "." + format.ToString().ToLower());
}
- /// <summary>
- /// Gets the size of the image.
- /// </summary>
- /// <param name="path">The path.</param>
- /// <returns>ImageSize.</returns>
- public ImageSize GetImageSize(string path)
- {
- return GetImageSize(path, _fileSystem.GetLastWriteTimeUtc(path), false);
- }
-
public ImageSize GetImageSize(ItemImageInfo info)
{
return GetImageSize(info.Path, info.DateModified, false);