aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Drawing/ImageManager.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-28 16:01:12 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-05-28 16:01:12 -0400
commitff61b0b11ab0dc9f33645b797c3d09dec8687439 (patch)
tree99b6907c68fbcc2227bd71d9dba000aa2aa69a6e /MediaBrowser.Controller/Drawing/ImageManager.cs
parent9274f9f35f1269c147c6815bb85e196e3128374a (diff)
better error handling with image enhancers
Diffstat (limited to 'MediaBrowser.Controller/Drawing/ImageManager.cs')
-rw-r--r--MediaBrowser.Controller/Drawing/ImageManager.cs30
1 files changed, 28 insertions, 2 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);
}