aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Server.Implementations/Data/SqliteItemRepository.cs4
-rw-r--r--Emby.Server.Implementations/Intros/DefaultIntroProvider.cs10
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs1
-rw-r--r--MediaBrowser.Controller/Entities/InternalItemsQuery.cs3
4 files changed, 14 insertions, 4 deletions
diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
index a6119f155..06704bafa 100644
--- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs
+++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
@@ -3368,9 +3368,9 @@ namespace Emby.Server.Implementations.Data
}
}
- if (query.SimilarTo != null)
+ if (query.SimilarTo != null && query.MinSimilarityScore > 0)
{
- whereClauses.Add("SimilarityScore > 0");
+ whereClauses.Add("SimilarityScore > " + (query.MinSimilarityScore - 1).ToString(CultureInfo.InvariantCulture));
}
if (query.IsFolder.HasValue)
diff --git a/Emby.Server.Implementations/Intros/DefaultIntroProvider.cs b/Emby.Server.Implementations/Intros/DefaultIntroProvider.cs
index 180f6aba7..90bb2f5c0 100644
--- a/Emby.Server.Implementations/Intros/DefaultIntroProvider.cs
+++ b/Emby.Server.Implementations/Intros/DefaultIntroProvider.cs
@@ -100,7 +100,12 @@ namespace Emby.Server.Implementations.Intros
if (trailerTypes.Count > 0)
{
- var trailerResult = _libraryManager.GetItemList(new InternalItemsQuery
+ if (trailerTypes.Count >= 5)
+ {
+ trailerTypes.Clear();
+ }
+
+ var trailerResult = _libraryManager.GetItemList(new InternalItemsQuery(user)
{
IncludeItemTypes = new[] { typeof(Trailer).Name },
TrailerTypes = trailerTypes.ToArray(),
@@ -111,7 +116,8 @@ namespace Emby.Server.Implementations.Intros
// Account for duplicates by imdb id, since the database doesn't support this yet
Limit = config.TrailerLimit * 2,
- SourceTypes = sourceTypes.ToArray()
+ SourceTypes = sourceTypes.ToArray(),
+ MinSimilarityScore = 0
}).Where(i => string.IsNullOrWhiteSpace(i.GetProviderId(MetadataProviders.Imdb)) || !string.Equals(i.GetProviderId(MetadataProviders.Imdb), item.GetProviderId(MetadataProviders.Imdb), StringComparison.OrdinalIgnoreCase)).Take(config.TrailerLimit);
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 9e32fd199..c8f49820f 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -53,6 +53,7 @@ namespace MediaBrowser.Controller.Entities
ImageInfos = new List<ItemImageInfo>();
InheritedTags = new List<string>();
ProductionLocations = new List<string>();
+ SourceType = SourceType.Library;
}
public static readonly char[] SlugReplaceChars = { '?', '/', '&' };
diff --git a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
index 15af0888d..f5af7d5c6 100644
--- a/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
+++ b/MediaBrowser.Controller/Entities/InternalItemsQuery.cs
@@ -160,6 +160,7 @@ namespace MediaBrowser.Controller.Entities
public DateTime? MinDateLastSaved { get; set; }
public DtoOptions DtoOptions { get; set; }
+ public int MinSimilarityScore { get; set; }
public bool HasField(ItemFields name)
{
@@ -197,6 +198,8 @@ namespace MediaBrowser.Controller.Entities
public InternalItemsQuery()
{
+ MinSimilarityScore = 1;
+
GroupByPresentationUniqueKey = true;
EnableTotalRecordCount = true;