Files
ersatztv/ErsatzTV.Infrastructure/Scheduling/MultiEpisodeShuffleCollectionEnumeratorFactory.cs
T
Jason DoveandGitHub 2ccba9e476 timeout playout builds after 2 minutes (#1269)
* add cancellation token support to playout builds and collection enumerators

* fix playout bug with shuffle in order

* update changelog
2023-05-08 11:53:02 -05:00

35 lines
1.1 KiB
C#

using ErsatzTV.Core.Domain;
using ErsatzTV.Core.Interfaces.Scheduling;
using ErsatzTV.Core.Interfaces.Scripting;
using Microsoft.Extensions.Logging;
namespace ErsatzTV.Infrastructure.Scheduling;
public class MultiEpisodeShuffleCollectionEnumeratorFactory
: IMultiEpisodeShuffleCollectionEnumeratorFactory
{
private readonly IScriptEngine _scriptEngine;
private readonly ILogger<MultiEpisodeShuffleCollectionEnumeratorFactory> _logger;
public MultiEpisodeShuffleCollectionEnumeratorFactory(
IScriptEngine scriptEngine,
ILogger<MultiEpisodeShuffleCollectionEnumeratorFactory> logger)
{
_scriptEngine = scriptEngine;
_logger = logger;
}
public IMediaCollectionEnumerator Create(
string jsScriptPath,
IList<MediaItem> mediaItems,
CollectionEnumeratorState state,
CancellationToken cancellationToken) =>
new MultiEpisodeShuffleCollectionEnumerator(
mediaItems,
state,
_scriptEngine,
jsScriptPath,
_logger,
cancellationToken);
}