aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Chapters/ChapterManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Providers/Chapters/ChapterManager.cs')
-rw-r--r--MediaBrowser.Providers/Chapters/ChapterManager.cs19
1 files changed, 13 insertions, 6 deletions
diff --git a/MediaBrowser.Providers/Chapters/ChapterManager.cs b/MediaBrowser.Providers/Chapters/ChapterManager.cs
index c020d0721..2da3197e7 100644
--- a/MediaBrowser.Providers/Chapters/ChapterManager.cs
+++ b/MediaBrowser.Providers/Chapters/ChapterManager.cs
@@ -67,7 +67,8 @@ namespace MediaBrowser.Providers.Chapters
ParentIndexNumber = video.ParentIndexNumber,
ProductionYear = video.ProductionYear,
ProviderIds = video.ProviderIds,
- RuntimeTicks = video.RunTimeTicks
+ RuntimeTicks = video.RunTimeTicks,
+ SearchAllProviders = false
};
var episode = video as Episode;
@@ -95,8 +96,12 @@ namespace MediaBrowser.Providers.Chapters
{
try
{
- return await Search(request, provider, cancellationToken).ConfigureAwait(false);
+ var currentResults = await Search(request, provider, cancellationToken).ConfigureAwait(false);
+ if (currentResults.Count > 0)
+ {
+ return currentResults;
+ }
}
catch (Exception ex)
{
@@ -124,19 +129,21 @@ namespace MediaBrowser.Providers.Chapters
return results.SelectMany(i => i);
}
- private async Task<IEnumerable<RemoteChapterResult>> Search(ChapterSearchRequest request,
+ private async Task<List<RemoteChapterResult>> Search(ChapterSearchRequest request,
IChapterProvider provider,
CancellationToken cancellationToken)
{
var searchResults = await provider.Search(request, cancellationToken).ConfigureAwait(false);
- foreach (var result in searchResults)
+ var list = searchResults.ToList();
+
+ foreach (var result in list)
{
result.Id = GetProviderId(provider.Name) + "_" + result.Id;
result.ProviderName = provider.Name;
}
- return searchResults;
+ return list;
}
public Task<ChapterResponse> GetChapters(string id, CancellationToken cancellationToken)
@@ -186,7 +193,7 @@ namespace MediaBrowser.Providers.Chapters
if (!includeDisabledProviders)
{
providers = providers
- .Where(i => _config.Configuration.ChapterOptions.DisabledFetchers.Contains(i.Name))
+ .Where(i => !_config.Configuration.ChapterOptions.DisabledFetchers.Contains(i.Name))
.ToArray();
}