aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Intros
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2015-02-09 16:58:30 -0500
committerLuke <luke.pulverenti@gmail.com>2015-02-09 16:58:30 -0500
commit4cc3b2f0ccd7c092a4acf72db4903415e175037a (patch)
treef9f90f8665b726253b8b357674f2f141aa43abc9 /MediaBrowser.Server.Implementations/Intros
parente7037a9b80843c127712f11430239f8fa3cb4aed (diff)
parent3d7089a7dbabb652730c892206ca050f52f832b1 (diff)
Merge pull request #1005 from MediaBrowser/dev
3.0.5518.0
Diffstat (limited to 'MediaBrowser.Server.Implementations/Intros')
-rw-r--r--MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs40
1 files changed, 19 insertions, 21 deletions
diff --git a/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs b/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs
index a113e8d5e..2af6e5588 100644
--- a/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs
+++ b/MediaBrowser.Server.Implementations/Intros/DefaultIntroProvider.cs
@@ -67,29 +67,26 @@ namespace MediaBrowser.Server.Implementations.Intros
? null
: _localization.GetRatingLevel(item.OfficialRating);
- var libaryItems = user.RootFolder.GetRecursiveChildren(user, false)
- .ToList();
-
var random = new Random(Environment.TickCount + Guid.NewGuid().GetHashCode());
var candidates = new List<ItemWithTrailer>();
if (config.EnableIntrosFromMoviesInLibrary)
{
- var itemsWithTrailers = libaryItems
- .Where(i =>
- {
- var hasTrailers = i as IHasTrailers;
-
- if (hasTrailers != null && hasTrailers.LocalTrailerIds.Count > 0)
- {
- if (i is Movie)
- {
- return !IsDuplicate(item, i);
- }
- }
- return false;
- });
+ var itemsWithTrailers = user.RootFolder
+ .GetRecursiveChildren(user, i =>
+ {
+ var hasTrailers = i as IHasTrailers;
+
+ if (hasTrailers != null && hasTrailers.LocalTrailerIds.Count > 0)
+ {
+ if (i is Movie)
+ {
+ return !IsDuplicate(item, i);
+ }
+ }
+ return false;
+ });
candidates.AddRange(itemsWithTrailers.Select(i => new ItemWithTrailer
{
@@ -141,15 +138,16 @@ namespace MediaBrowser.Server.Implementations.Intros
}));
}
+ return GetResult(item, candidates, config, ratingLevel);
+ }
+
+ private IEnumerable<IntroInfo> GetResult(BaseItem item, IEnumerable<ItemWithTrailer> candidates, CinemaModeConfiguration config, int? ratingLevel)
+ {
var customIntros = !string.IsNullOrWhiteSpace(config.CustomIntroPath) ?
GetCustomIntros(item) :
new List<IntroInfo>();
var trailerLimit = config.TrailerLimit;
- if (customIntros.Count > 0)
- {
- trailerLimit--;
- }
// Avoid implicitly captured closure
return candidates.Where(i =>