aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller')
-rw-r--r--MediaBrowser.Controller/Drawing/ImageManager.cs30
-rw-r--r--MediaBrowser.Controller/Dto/DtoBuilder.cs27
2 files changed, 52 insertions, 5 deletions
diff --git a/MediaBrowser.Controller/Drawing/ImageManager.cs b/MediaBrowser.Controller/Drawing/ImageManager.cs
index f891d5a18..f2d6657d5 100644
--- a/MediaBrowser.Controller/Drawing/ImageManager.cs
+++ b/MediaBrowser.Controller/Drawing/ImageManager.cs
@@ -531,8 +531,21 @@ namespace MediaBrowser.Controller.Drawing
throw new ArgumentNullException("item");
}
- var supportedEnhancers = _kernel.ImageEnhancers.Where(i => i.Supports(item, imageType)).ToList();
+ var supportedEnhancers = _kernel.ImageEnhancers.Where(i =>
+ {
+ try
+ {
+ return i.Supports(item, imageType);
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error in image enhancer: {0}", ex, i.GetType().Name);
+
+ return false;
+ }
+ }).ToList();
+
// No enhancement - don't cache
if (supportedEnhancers.Count == 0)
{
@@ -609,7 +622,20 @@ namespace MediaBrowser.Controller.Drawing
var dateModified = GetImageDateModified(item, imagePath);
- var supportedEnhancers = _kernel.ImageEnhancers.Where(i => i.Supports(item, imageType));
+ var supportedEnhancers = _kernel.ImageEnhancers.Where(i =>
+ {
+ try
+ {
+ return i.Supports(item, imageType);
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error in image enhancer: {0}", ex, i.GetType().Name);
+
+ return false;
+ }
+
+ }).ToList();
return GetImageCacheTag(imagePath, dateModified, supportedEnhancers, item, imageType);
}
diff --git a/MediaBrowser.Controller/Dto/DtoBuilder.cs b/MediaBrowser.Controller/Dto/DtoBuilder.cs
index 558c19049..549248595 100644
--- a/MediaBrowser.Controller/Dto/DtoBuilder.cs
+++ b/MediaBrowser.Controller/Dto/DtoBuilder.cs
@@ -182,11 +182,32 @@ namespace MediaBrowser.Controller.Dto
return;
}
- foreach (var enhancer in Kernel.Instance.ImageEnhancers
- .Where(i => i.Supports(item, ImageType.Primary)))
+ var supportedEnhancers = Kernel.Instance.ImageEnhancers.Where(i =>
{
+ try
+ {
+ return i.Supports(item, ImageType.Primary);
+ }
+ catch (Exception ex)
+ {
+ logger.ErrorException("Error in image enhancer: {0}", ex, i.GetType().Name);
+
+ return false;
+ }
+
+ }).ToList();
- size = enhancer.GetEnhancedImageSize(item, ImageType.Primary, 0, size);
+
+ foreach (var enhancer in supportedEnhancers)
+ {
+ try
+ {
+ size = enhancer.GetEnhancedImageSize(item, ImageType.Primary, 0, size);
+ }
+ catch (Exception ex)
+ {
+ logger.ErrorException("Error in image enhancer: {0}", ex, enhancer.GetType().Name);
+ }
}
dto.PrimaryImageAspectRatio = size.Width / size.Height;