diff options
| author | SL1288 <SL1288@SL1288.SL1288> | 2019-08-19 18:40:39 +0200 |
|---|---|---|
| committer | SL1288 <SL1288@SL1288.SL1288> | 2019-08-19 18:56:41 +0200 |
| commit | fdc24ec2eeffec4334c705631439de72cf6c8bdd (patch) | |
| tree | 37fa3c3fcef957a365d648084aad9c723712c8e4 | |
| parent | c8474f734c779d61444a6e48de9ff7825d7904c9 (diff) | |
Fix LocalTrailers playback.
| -rw-r--r-- | Emby.Server.Implementations/Dto/DtoService.cs | 2 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/UserLibraryService.cs | 10 | ||||
| -rw-r--r-- | MediaBrowser.Controller/Entities/BaseItem.cs | 8 |
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); |
