aboutsummaryrefslogtreecommitdiff
path: root/Emby.Drawing/ImageProcessor.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Drawing/ImageProcessor.cs')
-rw-r--r--Emby.Drawing/ImageProcessor.cs20
1 files changed, 13 insertions, 7 deletions
diff --git a/Emby.Drawing/ImageProcessor.cs b/Emby.Drawing/ImageProcessor.cs
index 2ba4f5aab..970b463cd 100644
--- a/Emby.Drawing/ImageProcessor.cs
+++ b/Emby.Drawing/ImageProcessor.cs
@@ -189,7 +189,7 @@ namespace Emby.Drawing
dateModified = tuple.Item2;
}
- var originalImageSize = GetImageSize(originalImagePath, dateModified);
+ var originalImageSize = GetImageSize(originalImagePath, dateModified, true);
// Determine the output size based on incoming parameters
var newSize = DrawingUtils.Resize(originalImageSize, options.Width, options.Height, options.MaxWidth, options.MaxHeight);
@@ -363,12 +363,12 @@ namespace Emby.Drawing
/// <returns>ImageSize.</returns>
public ImageSize GetImageSize(string path)
{
- return GetImageSize(path, File.GetLastWriteTimeUtc(path));
+ return GetImageSize(path, File.GetLastWriteTimeUtc(path), false);
}
public ImageSize GetImageSize(ItemImageInfo info)
{
- return GetImageSize(info.Path, info.DateModified);
+ return GetImageSize(info.Path, info.DateModified, false);
}
/// <summary>
@@ -376,9 +376,10 @@ namespace Emby.Drawing
/// </summary>
/// <param name="path">The path.</param>
/// <param name="imageDateModified">The image date modified.</param>
+ /// <param name="allowSlowMethod">if set to <c>true</c> [allow slow method].</param>
/// <returns>ImageSize.</returns>
/// <exception cref="System.ArgumentNullException">path</exception>
- private ImageSize GetImageSize(string path, DateTime imageDateModified)
+ private ImageSize GetImageSize(string path, DateTime imageDateModified, bool allowSlowMethod)
{
if (string.IsNullOrEmpty(path))
{
@@ -393,7 +394,7 @@ namespace Emby.Drawing
if (!_cachedImagedSizes.TryGetValue(cacheHash, out size))
{
- size = GetImageSizeInternal(path);
+ size = GetImageSizeInternal(path, allowSlowMethod);
_cachedImagedSizes.AddOrUpdate(cacheHash, size, (keyName, oldValue) => size);
}
@@ -405,8 +406,9 @@ namespace Emby.Drawing
/// Gets the image size internal.
/// </summary>
/// <param name="path">The path.</param>
+ /// <param name="allowSlowMethod">if set to <c>true</c> [allow slow method].</param>
/// <returns>ImageSize.</returns>
- private ImageSize GetImageSizeInternal(string path)
+ private ImageSize GetImageSizeInternal(string path, bool allowSlowMethod)
{
ImageSize size;
@@ -416,7 +418,11 @@ namespace Emby.Drawing
}
catch
{
- _logger.Info("Failed to read image header for {0}. Doing it the slow way.", path);
+ if (!allowSlowMethod)
+ {
+ throw;
+ }
+ //_logger.Info("Failed to read image header for {0}. Doing it the slow way.", path);
CheckDisposed();