aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Dto/DtoService.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/Dto/DtoService.cs')
-rw-r--r--Emby.Server.Implementations/Dto/DtoService.cs30
1 files changed, 18 insertions, 12 deletions
diff --git a/Emby.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs
index 9f08c6462..0a316fcf1 100644
--- a/Emby.Server.Implementations/Dto/DtoService.cs
+++ b/Emby.Server.Implementations/Dto/DtoService.cs
@@ -116,9 +116,11 @@ namespace Emby.Server.Implementations.Dto
var channelTuples = new List<Tuple<BaseItemDto, LiveTvChannel>>();
var index = 0;
+ var allCollectionFolders = _libraryManager.GetUserRootFolder().Children.OfType<Folder>().ToList();
+
foreach (var item in items)
{
- var dto = GetBaseItemDtoInternal(item, options, user, owner);
+ var dto = GetBaseItemDtoInternal(item, options, allCollectionFolders, user, owner);
var tvChannel = item as LiveTvChannel;
if (tvChannel != null)
@@ -173,7 +175,8 @@ namespace Emby.Server.Implementations.Dto
{
var syncDictionary = GetSyncedItemProgress(options);
- var dto = GetBaseItemDtoInternal(item, options, user, owner);
+ var allCollectionFolders = _libraryManager.GetUserRootFolder().Children.OfType<Folder>().ToList();
+ var dto = GetBaseItemDtoInternal(item, options, allCollectionFolders, user, owner);
var tvChannel = item as LiveTvChannel;
if (tvChannel != null)
{
@@ -303,7 +306,7 @@ namespace Emby.Server.Implementations.Dto
}
}
- private BaseItemDto GetBaseItemDtoInternal(BaseItem item, DtoOptions options, User user = null, BaseItem owner = null)
+ private BaseItemDto GetBaseItemDtoInternal(BaseItem item, DtoOptions options, List<Folder> allCollectionFolders, User user = null, BaseItem owner = null)
{
var fields = options.Fields;
@@ -472,7 +475,8 @@ namespace Emby.Server.Implementations.Dto
public BaseItemDto GetItemByNameDto(BaseItem item, DtoOptions options, List<BaseItem> taggedItems, Dictionary<string, SyncedItemProgress> syncProgress, User user = null)
{
- var dto = GetBaseItemDtoInternal(item, options, user);
+ var allCollectionFolders = _libraryManager.GetUserRootFolder().Children.OfType<Folder>().ToList();
+ var dto = GetBaseItemDtoInternal(item, options, allCollectionFolders, user);
if (taggedItems != null && options.Fields.Contains(ItemFields.ItemCounts))
{
@@ -1604,12 +1608,12 @@ namespace Emby.Server.Implementations.Dto
/// <param name="dto">The dto.</param>
/// <param name="item">The item.</param>
/// <returns>Task.</returns>
- public void AttachPrimaryImageAspectRatio(IItemDto dto, IHasMetadata item)
+ public void AttachPrimaryImageAspectRatio(IItemDto dto, BaseItem item)
{
dto.PrimaryImageAspectRatio = GetPrimaryImageAspectRatio(item);
}
- public double? GetPrimaryImageAspectRatio(IHasMetadata item)
+ public double? GetPrimaryImageAspectRatio(BaseItem item)
{
var imageInfo = item.GetImageInfo(ImageType.Primary, 0);
@@ -1642,16 +1646,18 @@ namespace Emby.Server.Implementations.Dto
return null;
}
- return null;
- _logger.Info("Getting image size for item type {0}", item.GetType().Name);
-
try
{
- size = _imageProcessor.GetImageSize(imageInfo);
+ size = _imageProcessor.GetImageSize(item, imageInfo);
+
+ if (size.Width <= 0 || size.Height <= 0)
+ {
+ return null;
+ }
}
- catch
+ catch (Exception ex)
{
- //_logger.ErrorException("Failed to determine primary image aspect ratio for {0}", ex, path);
+ //_logger.ErrorException("Failed to determine primary image aspect ratio for {0}", ex, imageInfo.Path);
return null;
}
}