@ -139,20 +139,26 @@ public class MediaSegmentManager : IMediaSegmentManager
}
}
/// <inheritdoc />
/// <inheritdoc />
public async Task < IEnumerable < MediaSegmentDto > > GetSegmentsAsync ( Guid itemId , IEnumerable < MediaSegmentType > ? typeFilter , bool filterByProvider = true )
public Task < IEnumerable < MediaSegmentDto > > GetSegmentsAsync ( Guid itemId , IEnumerable < MediaSegmentType > ? typeFilter , bool filterByProvider = true )
{
{
var baseItem = _libraryManager . GetItemById ( itemId ) ;
var baseItem = _libraryManager . GetItemById ( itemId ) ;
if ( baseItem is null )
if ( baseItem is null )
{
{
_logger . LogError ( "Tried to request segments for an invalid item" ) ;
_logger . LogError ( "Tried to request segments for an invalid item" ) ;
return [ ] ;
return Task . FromResult < IEnumerable < MediaSegmentDto > > ( [ ] ) ;
}
}
return GetSegmentsAsync ( baseItem , typeFilter , filterByProvider ) ;
}
/// <inheritdoc />
public async Task < IEnumerable < MediaSegmentDto > > GetSegmentsAsync ( BaseItem item , IEnumerable < MediaSegmentType > ? typeFilter , bool filterByProvider = true )
{
using var db = await _dbProvider . CreateDbContextAsync ( ) . ConfigureAwait ( false ) ;
using var db = await _dbProvider . CreateDbContextAsync ( ) . ConfigureAwait ( false ) ;
var query = db . MediaSegments
var query = db . MediaSegments
. Where ( e = > e . ItemId . Equals ( itemId ) ) ;
. Where ( e = > e . ItemId . Equals ( item . Id) ) ;
if ( typeFilter is not null )
if ( typeFilter is not null )
{
{
@ -161,7 +167,7 @@ public class MediaSegmentManager : IMediaSegmentManager
if ( filterByProvider )
if ( filterByProvider )
{
{
var libraryOptions = _libraryManager . GetLibraryOptions ( baseI tem) ;
var libraryOptions = _libraryManager . GetLibraryOptions ( i tem) ;
var providers = _segmentProviders
var providers = _segmentProviders
. Where ( e = > ! libraryOptions . DisabledMediaSegmentProviders . Contains ( GetProviderId ( e . Name ) ) )
. Where ( e = > ! libraryOptions . DisabledMediaSegmentProviders . Contains ( GetProviderId ( e . Name ) ) )
. ToArray ( ) ;
. ToArray ( ) ;