From ea9e8b957cdf5bb335967eeb1a018c4fc2a1db53 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Thu, 11 Dec 2014 01:20:28 -0500 Subject: update sync objects --- .../ContentDirectory/ControlHandler.cs | 23 +++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs') diff --git a/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs b/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs index 7b2b1f3f50..1faf690c93 100644 --- a/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs +++ b/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs @@ -492,7 +492,24 @@ namespace MediaBrowser.Dlna.ContentDirectory }, CancellationToken.None).ConfigureAwait(false); - items.AddRange(trailerResult.Items.Where(i => i.ContainsPerson(person.Name))); + var currentIds = items.Select(i => i.GetProviderId(MetadataProviders.Imdb)) + .ToList(); + + var trailersToAdd = trailerResult.Items + .Where(i => i.ContainsPerson(person.Name)) + .Where(i => + { + // Try to filter out dupes using imdb id + var imdb = i.GetProviderId(MetadataProviders.Imdb); + if (!string.IsNullOrWhiteSpace(imdb) && + currentIds.Contains(imdb, StringComparer.OrdinalIgnoreCase)) + { + return false; + } + return true; + }); + + items.AddRange(trailersToAdd); items = _libraryManager.Sort(items, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending) .Skip(startIndex ?? 0) @@ -527,7 +544,7 @@ namespace MediaBrowser.Dlna.ContentDirectory var movie = item as Movie; if (movie != null) { - if (movie.LocalTrailerIds.Count > 0 || + if (movie.GetTrailerIds().Count > 0 || movie.SpecialFeatureIds.Count > 0) { return StubType.Folder; @@ -559,7 +576,7 @@ namespace MediaBrowser.Dlna.ContentDirectory list.Add(item); - list.AddRange(item.LocalTrailerIds.Select(i => _libraryManager.GetItemById(i)).Where(i => i != null)); + list.AddRange(item.GetTrailerIds().Select(i => _libraryManager.GetItemById(i)).Where(i => i != null)); list.AddRange(item.SpecialFeatureIds.Select(i => _libraryManager.GetItemById(i)).Where(i => i != null)); var serverItems = list.Select(i => new ServerItem { Item = i, StubType = null }) -- cgit v1.2.3