mirror of https://github.com/jellyfin/jellyfin.git
Fix duplication of local trailers
This commit is contained in:
parent
112db30ff2
commit
5aa748058e
|
@ -1102,12 +1102,14 @@ namespace Emby.Server.Implementations.Dto
|
||||||
|
|
||||||
if (options.ContainsField(ItemFields.LocalTrailerCount))
|
if (options.ContainsField(ItemFields.LocalTrailerCount))
|
||||||
{
|
{
|
||||||
allExtras ??= item.GetExtras().ToArray();
|
|
||||||
dto.LocalTrailerCount = allExtras.Count(i => i.ExtraType == ExtraType.Trailer);
|
|
||||||
|
|
||||||
if (item is IHasTrailers hasTrailers)
|
if (item is IHasTrailers hasTrailers)
|
||||||
{
|
{
|
||||||
dto.LocalTrailerCount += hasTrailers.GetTrailerCount();
|
dto.LocalTrailerCount = hasTrailers.GetTrailerCount();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
allExtras ??= item.GetExtras().ToArray();
|
||||||
|
dto.LocalTrailerCount = allExtras.Count(i => i.ExtraType == ExtraType.Trailer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -206,21 +206,19 @@ namespace Jellyfin.Api.Controllers
|
||||||
: _libraryManager.GetItemById(itemId);
|
: _libraryManager.GetItemById(itemId);
|
||||||
|
|
||||||
var dtoOptions = new DtoOptions().AddClientFields(Request);
|
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)
|
if (item is IHasTrailers hasTrailers)
|
||||||
{
|
{
|
||||||
var trailers = hasTrailers.LocalTrailers;
|
var trailers = hasTrailers.LocalTrailers;
|
||||||
var dtosTrailers = _dtoService.GetBaseItemDtos(trailers, dtoOptions, user, item);
|
var dtosTrailers = _dtoService.GetBaseItemDtos(trailers, dtoOptions, user, item);
|
||||||
var allTrailers = new BaseItemDto[dtosExtras.Length + dtosTrailers.Count];
|
var allTrailers = new BaseItemDto[dtosTrailers.Count];
|
||||||
dtosExtras.CopyTo(allTrailers, 0);
|
dtosTrailers.CopyTo(allTrailers, 0);
|
||||||
dtosTrailers.CopyTo(allTrailers, dtosExtras.Length);
|
|
||||||
return allTrailers;
|
return allTrailers;
|
||||||
}
|
}
|
||||||
|
|
||||||
return dtosExtras;
|
return item.GetExtras(new[] { ExtraType.Trailer })
|
||||||
|
.Select(i => _dtoService.GetBaseItemDto(i, dtoOptions, user, item))
|
||||||
|
.ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
Loading…
Reference in New Issue