mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-28 02:21:00 +01:00
Added parameter to enable or disable library filter
This commit is contained in:
@@ -139,7 +139,7 @@ public class MediaSegmentManager : IMediaSegmentManager
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public async Task<IEnumerable<MediaSegmentDto>> GetSegmentsAsync(Guid itemId, IEnumerable<MediaSegmentType>? typeFilter)
|
||||
public async Task<IEnumerable<MediaSegmentDto>> GetSegmentsAsync(Guid itemId, IEnumerable<MediaSegmentType>? typeFilter, bool filterByProvider = true)
|
||||
{
|
||||
var baseItem = _libraryManager.GetItemById(itemId);
|
||||
|
||||
@@ -149,11 +149,6 @@ public class MediaSegmentManager : IMediaSegmentManager
|
||||
return [];
|
||||
}
|
||||
|
||||
var libraryOptions = _libraryManager.GetLibraryOptions(baseItem);
|
||||
var providers = _segmentProviders
|
||||
.Where(e => !libraryOptions.DisabledMediaSegmentProviders.Contains(GetProviderId(e.Name)))
|
||||
.ToArray();
|
||||
|
||||
using var db = await _dbProvider.CreateDbContextAsync().ConfigureAwait(false);
|
||||
|
||||
var query = db.MediaSegments
|
||||
@@ -164,8 +159,15 @@ public class MediaSegmentManager : IMediaSegmentManager
|
||||
query = query.Where(e => typeFilter.Contains(e.Type));
|
||||
}
|
||||
|
||||
var providerIds = providers.Select(f => GetProviderId(f.Name)).ToArray();
|
||||
query = query.Where(e => providerIds.Contains(e.SegmentProviderId));
|
||||
if (filterByProvider)
|
||||
{
|
||||
var libraryOptions = _libraryManager.GetLibraryOptions(baseItem);
|
||||
var providers = _segmentProviders
|
||||
.Where(e => !libraryOptions.DisabledMediaSegmentProviders.Contains(GetProviderId(e.Name)))
|
||||
.ToArray();
|
||||
var providerIds = providers.Select(f => GetProviderId(f.Name)).ToArray();
|
||||
query = query.Where(e => providerIds.Contains(e.SegmentProviderId));
|
||||
}
|
||||
|
||||
return query
|
||||
.OrderBy(e => e.StartTicks)
|
||||
|
||||
Reference in New Issue
Block a user