aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-18 14:49:06 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-18 14:49:06 -0400
commitd58da2a7728580f79203cfa502269c31c463775d (patch)
tree839f627fc09c0198cad153c5dc6c246fc6d1f1b8 /MediaBrowser.Api
parentbcd3e8e0faa622fc23025903d3b1d926ccfb2f49 (diff)
moved image manager to an interface
Diffstat (limited to 'MediaBrowser.Api')
-rw-r--r--MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs33
-rw-r--r--MediaBrowser.Api/Images/ImageService.cs49
-rw-r--r--MediaBrowser.Api/Images/ImageWriter.cs6
-rw-r--r--MediaBrowser.Api/Playback/Progressive/AudioService.cs13
-rw-r--r--MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs7
-rw-r--r--MediaBrowser.Api/Playback/Progressive/VideoService.cs13
-rw-r--r--MediaBrowser.Api/SearchService.cs7
7 files changed, 56 insertions, 72 deletions
diff --git a/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs b/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs
index ebb583506c..e682921765 100644
--- a/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs
+++ b/MediaBrowser.Api/DefaultTheme/DefaultThemeService.cs
@@ -1,4 +1,4 @@
-using MediaBrowser.Controller;
+using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
@@ -13,7 +13,6 @@ using ServiceStack.ServiceHost;
using System;
using System.Collections.Generic;
using System.Linq;
-using System.Threading.Tasks;
namespace MediaBrowser.Api.DefaultTheme
{
@@ -68,24 +67,26 @@ namespace MediaBrowser.Api.DefaultTheme
private readonly ILibraryManager _libraryManager;
private readonly ILocalizationManager _localization;
+ private readonly IImageProcessor _imageProcessor;
- public DefaultThemeService(IUserManager userManager, IDtoService dtoService, ILogger logger, ILibraryManager libraryManager, ILocalizationManager localization)
+ public DefaultThemeService(IUserManager userManager, IDtoService dtoService, ILogger logger, ILibraryManager libraryManager, ILocalizationManager localization, IImageProcessor imageProcessor)
{
_userManager = userManager;
_dtoService = dtoService;
_logger = logger;
_libraryManager = libraryManager;
_localization = localization;
+ _imageProcessor = imageProcessor;
}
public object Get(GetHomeView request)
{
- var result = GetHomeView(request).Result;
+ var result = GetHomeView(request);
return ToOptimizedResult(result);
}
- private async Task<HomeView> GetHomeView(GetHomeView request)
+ private HomeView GetHomeView(GetHomeView request)
{
var user = _userManager.GetUserById(request.UserId);
@@ -113,12 +114,12 @@ namespace MediaBrowser.Api.DefaultTheme
public object Get(GetGamesView request)
{
- var result = GetGamesView(request).Result;
+ var result = GetGamesView(request);
return ToOptimizedResult(result);
}
- private async Task<GamesView> GetGamesView(GetGamesView request)
+ private GamesView GetGamesView(GetGamesView request)
{
var user = _userManager.GetUserById(request.UserId);
@@ -145,19 +146,19 @@ namespace MediaBrowser.Api.DefaultTheme
public object Get(GetMovieView request)
{
- var result = GetMovieView(request).Result;
+ var result = GetMovieView(request);
return ToOptimizedResult(result);
}
public object Get(GetTvView request)
{
- var result = GetTvView(request).Result;
+ var result = GetTvView(request);
return ToOptimizedResult(result);
}
- private async Task<TvView> GetTvView(GetTvView request)
+ private TvView GetTvView(GetTvView request)
{
var user = _userManager.GetUserById(request.UserId);
@@ -210,7 +211,7 @@ namespace MediaBrowser.Api.DefaultTheme
return view;
}
- private async Task<MoviesView> GetMovieView(GetMovieView request)
+ private MoviesView GetMovieView(GetMovieView request)
{
var user = _userManager.GetUserById(request.UserId);
@@ -348,9 +349,9 @@ namespace MediaBrowser.Api.DefaultTheme
{
try
{
- var date = Kernel.Instance.ImageManager.GetImageDateModified(item, path);
+ var date = item.GetImageDateModified(path);
- var size = Kernel.Instance.ImageManager.GetImageSize(path, date);
+ var size = _imageProcessor.GetImageSize(path, date);
return size.Width;
}
@@ -400,13 +401,11 @@ namespace MediaBrowser.Api.DefaultTheme
ImageType = imageType
};
- var imageManager = Kernel.Instance.ImageManager;
-
try
{
- var imagePath = imageManager.GetImagePath(item, imageType, 0);
+ var imagePath = item.GetImagePath(imageType, 0);
- stub.ImageTag = imageManager.GetImageCacheTag(item, imageType, imagePath);
+ stub.ImageTag = _imageProcessor.GetImageCacheTag(item, imageType, imagePath);
}
catch (Exception ex)
{
diff --git a/MediaBrowser.Api/Images/ImageService.cs b/MediaBrowser.Api/Images/ImageService.cs
index fb5cb291ef..b8c6fc8f0b 100644
--- a/MediaBrowser.Api/Images/ImageService.cs
+++ b/MediaBrowser.Api/Images/ImageService.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
+using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
@@ -338,11 +339,12 @@ namespace MediaBrowser.Api.Images
private readonly IItemRepository _itemRepo;
private readonly IDtoService _dtoService;
+ private readonly IImageProcessor _imageProcessor;
/// <summary>
/// Initializes a new instance of the <see cref="ImageService" /> class.
/// </summary>
- public ImageService(IUserManager userManager, ILibraryManager libraryManager, IApplicationPaths appPaths, IProviderManager providerManager, IItemRepository itemRepo, IDtoService dtoService)
+ public ImageService(IUserManager userManager, ILibraryManager libraryManager, IApplicationPaths appPaths, IProviderManager providerManager, IItemRepository itemRepo, IDtoService dtoService, IImageProcessor imageProcessor)
{
_userManager = userManager;
_libraryManager = libraryManager;
@@ -350,6 +352,7 @@ namespace MediaBrowser.Api.Images
_providerManager = providerManager;
_itemRepo = itemRepo;
_dtoService = dtoService;
+ _imageProcessor = imageProcessor;
}
/// <summary>
@@ -403,15 +406,13 @@ namespace MediaBrowser.Api.Images
var fileInfo = new FileInfo(path);
- var dateModified = Kernel.Instance.ImageManager.GetImageDateModified(item, path);
-
- var size = Kernel.Instance.ImageManager.GetImageSize(path, dateModified);
+ var size = _imageProcessor.GetImageSize(path);
list.Add(new ImageInfo
{
Path = path,
ImageType = image.Key,
- ImageTag = Kernel.Instance.ImageManager.GetImageCacheTag(item, image.Key, path),
+ ImageTag = _imageProcessor.GetImageCacheTag(item, image.Key, path),
Size = fileInfo.Length,
Width = Convert.ToInt32(size.Width),
Height = Convert.ToInt32(size.Height)
@@ -424,16 +425,14 @@ namespace MediaBrowser.Api.Images
{
var fileInfo = new FileInfo(image);
- var dateModified = Kernel.Instance.ImageManager.GetImageDateModified(item, image);
-
- var size = Kernel.Instance.ImageManager.GetImageSize(image, dateModified);
+ var size = _imageProcessor.GetImageSize(image);
list.Add(new ImageInfo
{
Path = image,
ImageIndex = index,
ImageType = ImageType.Backdrop,
- ImageTag = Kernel.Instance.ImageManager.GetImageCacheTag(item, ImageType.Backdrop, image),
+ ImageTag = _imageProcessor.GetImageCacheTag(item, ImageType.Backdrop, image),
Size = fileInfo.Length,
Width = Convert.ToInt32(size.Width),
Height = Convert.ToInt32(size.Height)
@@ -448,16 +447,14 @@ namespace MediaBrowser.Api.Images
{
var fileInfo = new FileInfo(image);
- var dateModified = Kernel.Instance.ImageManager.GetImageDateModified(item, image);
-
- var size = Kernel.Instance.ImageManager.GetImageSize(image, dateModified);
+ var size = _imageProcessor.GetImageSize(image);
list.Add(new ImageInfo
{
Path = image,
ImageIndex = index,
ImageType = ImageType.Screenshot,
- ImageTag = Kernel.Instance.ImageManager.GetImageCacheTag(item, ImageType.Screenshot, image),
+ ImageTag = _imageProcessor.GetImageCacheTag(item, ImageType.Screenshot, image),
Size = fileInfo.Length,
Width = Convert.ToInt32(size.Width),
Height = Convert.ToInt32(size.Height)
@@ -480,16 +477,14 @@ namespace MediaBrowser.Api.Images
var fileInfo = new FileInfo(image);
- var dateModified = Kernel.Instance.ImageManager.GetImageDateModified(item, image);
-
- var size = Kernel.Instance.ImageManager.GetImageSize(image, dateModified);
+ var size = _imageProcessor.GetImageSize(image);
list.Add(new ImageInfo
{
Path = image,
ImageIndex = index,
ImageType = ImageType.Chapter,
- ImageTag = Kernel.Instance.ImageManager.GetImageCacheTag(item, ImageType.Chapter, image),
+ ImageTag = _imageProcessor.GetImageCacheTag(item, ImageType.Chapter, image),
Size = fileInfo.Length,
Width = Convert.ToInt32(size.Width),
Height = Convert.ToInt32(size.Height)
@@ -721,11 +716,7 @@ namespace MediaBrowser.Api.Images
/// </exception>
private object GetImage(ImageRequest request, BaseItem item)
{
- var kernel = Kernel.Instance;
-
- var index = request.Index ?? 0;
-
- var imagePath = GetImagePath(kernel, request, item);
+ var imagePath = GetImagePath(request, item);
if (string.IsNullOrEmpty(imagePath))
{
@@ -733,9 +724,9 @@ namespace MediaBrowser.Api.Images
}
// See if we can avoid a file system lookup by looking for the file in ResolveArgs
- var originalFileImageDateModified = kernel.ImageManager.GetImageDateModified(item, imagePath);
+ var originalFileImageDateModified = item.GetImageDateModified(imagePath);
- var supportedImageEnhancers = request.EnableImageEnhancers ? kernel.ImageManager.ImageEnhancers.Where(i =>
+ var supportedImageEnhancers = request.EnableImageEnhancers ? _imageProcessor.ImageEnhancers.Where(i =>
{
try
{
@@ -759,7 +750,7 @@ namespace MediaBrowser.Api.Images
var contentType = MimeTypes.GetMimeType(imagePath);
- var cacheGuid = kernel.ImageManager.GetImageCacheTag(imagePath, originalFileImageDateModified, supportedImageEnhancers, item, request.Type);
+ var cacheGuid = _imageProcessor.GetImageCacheTag(item, request.Type, imagePath, originalFileImageDateModified, supportedImageEnhancers);
TimeSpan? cacheDuration = null;
@@ -778,7 +769,8 @@ namespace MediaBrowser.Api.Images
Request = currentRequest,
OriginalImageDateModified = originalFileImageDateModified,
Enhancers = supportedImageEnhancers,
- OriginalImagePath = imagePath
+ OriginalImagePath = imagePath,
+ ImageProcessor = _imageProcessor
}, contentType);
}
@@ -786,15 +778,14 @@ namespace MediaBrowser.Api.Images
/// <summary>
/// Gets the image path.
/// </summary>
- /// <param name="kernel">The kernel.</param>
/// <param name="request">The request.</param>
/// <param name="item">The item.</param>
/// <returns>System.String.</returns>
- private string GetImagePath(Kernel kernel, ImageRequest request, BaseItem item)
+ private string GetImagePath(ImageRequest request, BaseItem item)
{
var index = request.Index ?? 0;
- return kernel.ImageManager.GetImagePath(item, request.Type, index);
+ return item.GetImagePath(request.Type, index);
}
/// <summary>
diff --git a/MediaBrowser.Api/Images/ImageWriter.cs b/MediaBrowser.Api/Images/ImageWriter.cs
index a734e28e80..da2c9c043a 100644
--- a/MediaBrowser.Api/Images/ImageWriter.cs
+++ b/MediaBrowser.Api/Images/ImageWriter.cs
@@ -1,4 +1,4 @@
-using MediaBrowser.Controller;
+using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
@@ -35,6 +35,8 @@ namespace MediaBrowser.Api.Images
public string OriginalImagePath;
+ public IImageProcessor ImageProcessor { get; set; }
+
/// <summary>
/// The _options
/// </summary>
@@ -73,7 +75,7 @@ namespace MediaBrowser.Api.Images
cropwhitespace = Request.CropWhitespace.Value;
}
- return Kernel.Instance.ImageManager.ProcessImage(Item, Request.Type, Request.Index ?? 0, OriginalImagePath, cropwhitespace,
+ return ImageProcessor.ProcessImage(Item, Request.Type, Request.Index ?? 0, OriginalImagePath, cropwhitespace,
OriginalImageDateModified, responseStream, Request.Width, Request.Height, Request.MaxWidth,
Request.MaxHeight, Request.Quality, Enhancers);
}
diff --git a/MediaBrowser.Api/Playback/Progressive/AudioService.cs b/MediaBrowser.Api/Playback/Progressive/AudioService.cs
index d935fea79b..915ec0c106 100644
--- a/MediaBrowser.Api/Playback/Progressive/AudioService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/AudioService.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Common.MediaInfo;
using MediaBrowser.Controller;
+using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Persistence;
@@ -41,16 +42,8 @@ namespace MediaBrowser.Api.Playback.Progressive
/// </summary>
public class AudioService : BaseProgressiveStreamingService
{
- /// <summary>
- /// Initializes a new instance of the <see cref="AudioService"/> class.
- /// </summary>
- /// <param name="appPaths">The app paths.</param>
- /// <param name="userManager">The user manager.</param>
- /// <param name="libraryManager">The library manager.</param>
- /// <param name="isoManager">The iso manager.</param>
- /// <param name="mediaEncoder">The media encoder.</param>
- public AudioService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo, IDtoService dtoService)
- : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo, dtoService)
+ public AudioService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo, IDtoService dtoService, IImageProcessor imageProcessor)
+ : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo, dtoService, imageProcessor)
{
}
diff --git a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
index 806e55024f..0bc147a46c 100644
--- a/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/BaseProgressiveStreamingService.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Common.MediaInfo;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
+using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
@@ -24,11 +25,13 @@ namespace MediaBrowser.Api.Playback.Progressive
public abstract class BaseProgressiveStreamingService : BaseStreamingService
{
protected readonly IItemRepository ItemRepository;
+ protected readonly IImageProcessor ImageProcessor;
- protected BaseProgressiveStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepository, IDtoService dtoService) :
+ protected BaseProgressiveStreamingService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepository, IDtoService dtoService, IImageProcessor imageProcessor) :
base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, dtoService)
{
ItemRepository = itemRepository;
+ ImageProcessor = imageProcessor;
}
/// <summary>
@@ -303,7 +306,7 @@ namespace MediaBrowser.Api.Playback.Progressive
}
}
- return new ImageService(UserManager, LibraryManager, ApplicationPaths, null, ItemRepository, DtoService)
+ return new ImageService(UserManager, LibraryManager, ApplicationPaths, null, ItemRepository, DtoService, ImageProcessor)
{
Logger = Logger,
RequestContext = RequestContext,
diff --git a/MediaBrowser.Api/Playback/Progressive/VideoService.cs b/MediaBrowser.Api/Playback/Progressive/VideoService.cs
index eb53bc2cee..c1dd7fa017 100644
--- a/MediaBrowser.Api/Playback/Progressive/VideoService.cs
+++ b/MediaBrowser.Api/Playback/Progressive/VideoService.cs
@@ -1,5 +1,6 @@
using MediaBrowser.Common.MediaInfo;
using MediaBrowser.Controller;
+using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
@@ -53,16 +54,8 @@ namespace MediaBrowser.Api.Playback.Progressive
/// </summary>
public class VideoService : BaseProgressiveStreamingService
{
- /// <summary>
- /// Initializes a new instance of the <see cref="VideoService"/> class.
- /// </summary>
- /// <param name="appPaths">The app paths.</param>
- /// <param name="userManager">The user manager.</param>
- /// <param name="libraryManager">The library manager.</param>
- /// <param name="isoManager">The iso manager.</param>
- /// <param name="mediaEncoder">The media encoder.</param>
- public VideoService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo, IDtoService dtoService)
- : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo, dtoService)
+ public VideoService(IServerApplicationPaths appPaths, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IItemRepository itemRepo, IDtoService dtoService, IImageProcessor imageProcessor)
+ : base(appPaths, userManager, libraryManager, isoManager, mediaEncoder, itemRepo, dtoService, imageProcessor)
{
}
diff --git a/MediaBrowser.Api/SearchService.cs b/MediaBrowser.Api/SearchService.cs
index 2b3f117617..78c299fbb2 100644
--- a/MediaBrowser.Api/SearchService.cs
+++ b/MediaBrowser.Api/SearchService.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Controller;
+using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Dto;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Audio;
@@ -66,6 +67,7 @@ namespace MediaBrowser.Api
private readonly ILibrarySearchEngine _searchEngine;
private readonly ILibraryManager _libraryManager;
private readonly IDtoService _dtoService;
+ private readonly IImageProcessor _imageProcessor;
/// <summary>
/// Initializes a new instance of the <see cref="SearchService" /> class.
@@ -73,12 +75,13 @@ namespace MediaBrowser.Api
/// <param name="userManager">The user manager.</param>
/// <param name="searchEngine">The search engine.</param>
/// <param name="libraryManager">The library manager.</param>
- public SearchService(IUserManager userManager, ILibrarySearchEngine searchEngine, ILibraryManager libraryManager, IDtoService dtoService)
+ public SearchService(IUserManager userManager, ILibrarySearchEngine searchEngine, ILibraryManager libraryManager, IDtoService dtoService, IImageProcessor imageProcessor)
{
_userManager = userManager;
_searchEngine = searchEngine;
_libraryManager = libraryManager;
_dtoService = dtoService;
+ _imageProcessor = imageProcessor;
}
/// <summary>
@@ -161,7 +164,7 @@ namespace MediaBrowser.Api
if (item.HasImage(ImageType.Primary))
{
- result.PrimaryImageTag = Kernel.Instance.ImageManager.GetImageCacheTag(item, ImageType.Primary, item.GetImage(ImageType.Primary));
+ result.PrimaryImageTag = _imageProcessor.GetImageCacheTag(item, ImageType.Primary, item.GetImage(ImageType.Primary));
}
var episode = item as Episode;