aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-03-31 15:41:12 -0400
committerLuke <luke.pulverenti@gmail.com>2015-03-31 15:41:12 -0400
commitbe74de0236a3544959722b3a8ff9c9ca26c73d13 (patch)
tree292d0abda239cd3966840b7e93568580209bf189 /MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
parentaa079120059699f4778d80f55e68883d75d26b3a (diff)
parent2626b6f3729097e083f381936738d17335f48f1c (diff)
Merge pull request #1058 from MediaBrowser/dev
3.0.5569.0
Diffstat (limited to 'MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs64
1 files changed, 25 insertions, 39 deletions
diff --git a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
index a9affe1ec..d78d5e8ea 100644
--- a/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
+++ b/MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs
@@ -233,61 +233,45 @@ namespace MediaBrowser.Server.Implementations.Drawing
await semaphore.WaitAsync().ConfigureAwait(false);
- // Check again in case of lock contention
- try
- {
- if (File.Exists(cacheFilePath))
- {
- semaphore.Release();
- return cacheFilePath;
- }
- }
- catch
- {
- semaphore.Release();
- throw;
- }
-
try
{
CheckDisposed();
- var newWidth = Convert.ToInt32(newSize.Width);
- var newHeight = Convert.ToInt32(newSize.Height);
+ if (!File.Exists(cacheFilePath))
+ {
+ var newWidth = Convert.ToInt32(newSize.Width);
+ var newHeight = Convert.ToInt32(newSize.Height);
- Directory.CreateDirectory(Path.GetDirectoryName(cacheFilePath));
+ Directory.CreateDirectory(Path.GetDirectoryName(cacheFilePath));
- if (string.IsNullOrWhiteSpace(options.BackgroundColor))
- {
- using (var originalImage = new MagickWand(originalImagePath))
+ if (string.IsNullOrWhiteSpace(options.BackgroundColor))
{
- originalImage.CurrentImage.ResizeImage(newWidth, newHeight);
-
- DrawIndicator(originalImage, newWidth, newHeight, options);
+ using (var originalImage = new MagickWand(originalImagePath))
+ {
+ originalImage.CurrentImage.ResizeImage(newWidth, newHeight);
- originalImage.CurrentImage.CompressionQuality = quality;
+ DrawIndicator(originalImage, newWidth, newHeight, options);
- originalImage.SaveImage(cacheFilePath);
+ originalImage.CurrentImage.CompressionQuality = quality;
- return cacheFilePath;
+ originalImage.SaveImage(cacheFilePath);
+ }
}
- }
- else
- {
- using (var wand = new MagickWand(newWidth, newHeight, options.BackgroundColor))
+ else
{
- using (var originalImage = new MagickWand(originalImagePath))
+ using (var wand = new MagickWand(newWidth, newHeight, options.BackgroundColor))
{
- originalImage.CurrentImage.ResizeImage(newWidth, newHeight);
+ using (var originalImage = new MagickWand(originalImagePath))
+ {
+ originalImage.CurrentImage.ResizeImage(newWidth, newHeight);
- wand.CurrentImage.CompositeImage(originalImage, CompositeOperator.OverCompositeOp, 0, 0);
- DrawIndicator(wand, newWidth, newHeight, options);
+ wand.CurrentImage.CompositeImage(originalImage, CompositeOperator.OverCompositeOp, 0, 0);
+ DrawIndicator(wand, newWidth, newHeight, options);
- wand.CurrentImage.CompressionQuality = quality;
+ wand.CurrentImage.CompressionQuality = quality;
- wand.SaveImage(cacheFilePath);
-
- return cacheFilePath;
+ wand.SaveImage(cacheFilePath);
+ }
}
}
}
@@ -296,6 +280,8 @@ namespace MediaBrowser.Server.Implementations.Drawing
{
semaphore.Release();
}
+
+ return cacheFilePath;
}
private ImageFormat GetOutputFormat(ImageFormat requestedFormat)