diff options
Diffstat (limited to 'MediaBrowser.Api')
| -rw-r--r-- | MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs | 1 | ||||
| -rw-r--r-- | MediaBrowser.Api/Images/ImageRequest.cs | 4 | ||||
| -rw-r--r-- | MediaBrowser.Api/Images/ImageService.cs | 24 | ||||
| -rw-r--r-- | MediaBrowser.Api/Images/ImageWriter.cs | 3 |
4 files changed, 30 insertions, 2 deletions
diff --git a/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs b/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs index e682921765..736710c546 100644 --- a/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs +++ b/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs @@ -175,6 +175,7 @@ namespace MediaBrowser.Api.DefaultTheme var dtos = FilterItemsForBackdropDisplay(seriesWithBackdrops) .OrderBy(i => Guid.NewGuid()) .Take(50) + .AsParallel() .Select(i => _dtoService.GetBaseItemDto(i, fields, user)); view.SpotlightItems = dtos.ToArray(); diff --git a/MediaBrowser.Api/Images/ImageRequest.cs b/MediaBrowser.Api/Images/ImageRequest.cs index 719b0de5ea..1302b50002 100644 --- a/MediaBrowser.Api/Images/ImageRequest.cs +++ b/MediaBrowser.Api/Images/ImageRequest.cs @@ -55,12 +55,16 @@ namespace MediaBrowser.Api.Images [ApiMember(Name = "Format", Description = "Determines the output foramt of the image - original,gif,jpg,png", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")] public ImageOutputFormat Format { get; set; } + + [ApiMember(Name = "Indicator", Description = "Determines what overlay to render, if any. none, watched.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")] + public ImageOverlay Indicator { get; set; } public ImageRequest() { EnableImageEnhancers = true; Format = ImageOutputFormat.Original; + Indicator = ImageOverlay.None; } } diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs index 9f1c235ad3..0a76175fd0 100644 --- a/MediaBrowser.Api/Images/ImageService.cs +++ b/MediaBrowser.Api/Images/ImageService.cs @@ -747,7 +747,7 @@ namespace MediaBrowser.Api.Images throw new ResourceNotFoundException(string.Format("File not found: {0}", imagePath)); } - var contentType = MimeTypes.GetMimeType(imagePath); + var contentType = GetMimeType(request.Format, imagePath); var cacheGuid = _imageProcessor.GetImageCacheTag(item, request.Type, imagePath, originalFileImageDateModified, supportedImageEnhancers); @@ -774,6 +774,28 @@ namespace MediaBrowser.Api.Images }, contentType); } + private string GetMimeType(ImageOutputFormat format, string path) + { + if (format == ImageOutputFormat.Bmp) + { + return MimeTypes.GetMimeType("i.bmp"); + } + if (format == ImageOutputFormat.Gif) + { + return MimeTypes.GetMimeType("i.gif"); + } + if (format == ImageOutputFormat.Jpg) + { + return MimeTypes.GetMimeType("i.jpg"); + } + if (format == ImageOutputFormat.Png) + { + return MimeTypes.GetMimeType("i.png"); + } + + return MimeTypes.GetMimeType(path); + } + /// <summary> /// Gets the image path. /// </summary> diff --git a/MediaBrowser.Api/Images/ImageWriter.cs b/MediaBrowser.Api/Images/ImageWriter.cs index 03266fc996..be79878aa5 100644 --- a/MediaBrowser.Api/Images/ImageWriter.cs +++ b/MediaBrowser.Api/Images/ImageWriter.cs @@ -89,7 +89,8 @@ namespace MediaBrowser.Api.Images OriginalImagePath = OriginalImagePath, Quality = Request.Quality, Width = Request.Width, - OutputFormat = Request.Format + OutputFormat = Request.Format, + Indicator = Request.Indicator }; return ImageProcessor.ProcessImage(options, responseStream); |
