diff options
| author | Bond-009 <bond.009@outlook.com> | 2022-01-19 22:47:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-19 22:47:08 +0100 |
| commit | 3aeae150f806f80015e77d4bc493e29c55c522f8 (patch) | |
| tree | 5eedf7f32ce68daf990bcc30c29827318e4eb24c | |
| parent | 8b36bc0ade036557769270f67c402ce94795b04b (diff) | |
| parent | 60fe77c089217211f3632e3a0528df75132d6bac (diff) | |
Merge pull request #7176 from dmitrylyzo/fix-trailers-1
| -rw-r--r-- | Emby.Server.Implementations/Dto/DtoService.cs | 9 | ||||
| -rw-r--r-- | Jellyfin.Api/Controllers/UserLibraryController.cs | 13 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs | 2 |
3 files changed, 10 insertions, 14 deletions
diff --git a/Emby.Server.Implementations/Dto/DtoService.cs b/Emby.Server.Implementations/Dto/DtoService.cs index 7ba34e74a..88d9303a5 100644 --- a/Emby.Server.Implementations/Dto/DtoService.cs +++ b/Emby.Server.Implementations/Dto/DtoService.cs @@ -1102,12 +1102,13 @@ namespace Emby.Server.Implementations.Dto if (options.ContainsField(ItemFields.LocalTrailerCount)) { - allExtras ??= item.GetExtras().ToArray(); - dto.LocalTrailerCount = allExtras.Count(i => i.ExtraType == ExtraType.Trailer); - if (item is IHasTrailers hasTrailers) { - dto.LocalTrailerCount += hasTrailers.GetTrailerCount(); + dto.LocalTrailerCount = hasTrailers.GetTrailerCount(); + } + else + { + dto.LocalTrailerCount = (allExtras ?? item.GetExtras()).Count(i => i.ExtraType == ExtraType.Trailer); } } diff --git a/Jellyfin.Api/Controllers/UserLibraryController.cs b/Jellyfin.Api/Controllers/UserLibraryController.cs index 8b99170d9..90cb4a74a 100644 --- a/Jellyfin.Api/Controllers/UserLibraryController.cs +++ b/Jellyfin.Api/Controllers/UserLibraryController.cs @@ -206,21 +206,16 @@ namespace Jellyfin.Api.Controllers : _libraryManager.GetItemById(itemId); var dtoOptions = new DtoOptions().AddClientFields(Request); - var dtosExtras = item.GetExtras(new[] { ExtraType.Trailer }) - .Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, user, item)) - .ToArray(); if (item is IHasTrailers hasTrailers) { var trailers = hasTrailers.LocalTrailers; - var dtosTrailers = _dtoService.GetBaseItemDtos(trailers, dtoOptions, user, item); - var allTrailers = new BaseItemDto[dtosExtras.Length + dtosTrailers.Count]; - dtosExtras.CopyTo(allTrailers, 0); - dtosTrailers.CopyTo(allTrailers, dtosExtras.Length); - return allTrailers; + return Ok(_dtoService.GetBaseItemDtos(trailers, dtoOptions, user, item)); } - return dtosExtras; + return Ok(item.GetExtras() + .Where(e => e.ExtraType == ExtraType.Trailer) + .Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, user, item))); } /// <summary> diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs index e4a56fde9..f14f31858 100644 --- a/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs +++ b/MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs @@ -312,7 +312,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies var trailers = new List<MediaUrl>(); for (var i = 0; i < movieResult.Videos.Results.Count; i++) { - var video = movieResult.Videos.Results[0]; + var video = movieResult.Videos.Results[i]; if (!TmdbUtils.IsTrailerType(video)) { continue; |
