aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Rabert <6550543+nvllsvm@users.noreply.github.com>2019-08-27 19:02:05 -0400
committerGitHub <noreply@github.com>2019-08-27 19:02:05 -0400
commit24775f49885ea6dc9a7de2200ee0de8f84918dd9 (patch)
tree697f16e945b8fd37d505426b386586f9e360d7de
parentf255788383dead8f172c9e585bc589247164382f (diff)
parentfdc24ec2eeffec4334c705631439de72cf6c8bdd (diff)
Merge pull request #1651 from sl1288/master
Fix local trailers playback
-rw-r--r--Emby.Server.Implementations/Dto/DtoService.cs2
-rw-r--r--MediaBrowser.Api/UserLibrary/UserLibraryService.cs10
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs8
3 files changed, 15 insertions, 5 deletions
diff --git a/Emby.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs
index 1a7f10634..97ddfff53 100644
--- a/Emby.Server.Implementations/Dto/DtoService.cs
+++ b/Emby.Server.Implementations/Dto/DtoService.cs
@@ -1079,7 +1079,7 @@ namespace Emby.Server.Implementations.Dto
allExtras = item.GetExtras().ToArray();
}
- dto.LocalTrailerCount = allExtras.Count(i => i.ExtraType.HasValue && i.ExtraType.Value == ExtraType.Trailer);
+ dto.LocalTrailerCount = allExtras.Count(i => i.ExtraType.HasValue && i.ExtraType.Value == ExtraType.Trailer) + item.GetTrailers().Count();
}
// Add EpisodeInfo
diff --git a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
index a9b06095d..6eaa1b692 100644
--- a/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
+++ b/MediaBrowser.Api/UserLibrary/UserLibraryService.cs
@@ -366,11 +366,13 @@ namespace MediaBrowser.Api.UserLibrary
var dtoOptions = GetDtoOptions(_authContext, request);
- var dtos = item.GetExtras(new[] { ExtraType.Trailer })
- .Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, user, item))
- .ToArray();
+ var dtosExtras = item.GetExtras(new[] { ExtraType.Trailer })
+ .Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, user, item));
+
+ var dtosTrailers = item.GetTrailers()
+ .Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, user, item));
- return ToOptimizedResult(dtos);
+ return ToOptimizedResult(dtosExtras.Concat(dtosTrailers).ToArray());
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 2ae856b02..38e4db3cf 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -2883,6 +2883,14 @@ namespace MediaBrowser.Controller.Entities
return ExtraIds.Select(LibraryManager.GetItemById).Where(i => i != null && extraTypes.Contains(i.ExtraType.Value)).OrderBy(i => i.SortName);
}
+ public IEnumerable<BaseItem> GetTrailers()
+ {
+ if (this is IHasTrailers)
+ return ((IHasTrailers)this).LocalTrailerIds.Select(LibraryManager.GetItemById).Where(i => i != null).OrderBy(i => i.SortName);
+ else
+ return Array.Empty<BaseItem>();
+ }
+
public IEnumerable<BaseItem> GetDisplayExtras()
{
return GetExtras(DisplayExtraTypes);