diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-03-31 15:41:12 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2015-03-31 15:41:12 -0400 |
| commit | be74de0236a3544959722b3a8ff9c9ca26c73d13 (patch) | |
| tree | 292d0abda239cd3966840b7e93568580209bf189 /MediaBrowser.Server.Implementations/Drawing/ImageProcessor.cs | |
| parent | aa079120059699f4778d80f55e68883d75d26b3a (diff) | |
| parent | 2626b6f3729097e083f381936738d17335f48f1c (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.cs | 64 |
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) |
