ABStemPlayer/AudioCore/Impl/StemDecoderFactory.cs

25 lines
658 B
C#

namespace AudioCore.Impl;
public sealed class StemDecoderFactory : IStemDecoderFactory
{
private readonly IAudioReaderFactory _readerFactory;
private readonly AudioBufferPool _pool;
private readonly int _blockSize;
public StemDecoderFactory(
IAudioReaderFactory readerFactory,
AudioBufferPool pool,
int blockSize = 4096)
{
_readerFactory = readerFactory;
_pool = pool;
_blockSize = blockSize;
}
public IStemDecoder Create(StemTrack stem)
{
var reader = _readerFactory.Create(stem.FilePath);
return new StemDecoder(reader, _pool, stem, _blockSize);
}
}