using System.Buffers; namespace AudioCore.Impl; public class GenericBufferPool { private readonly ArrayPool _pool = ArrayPool.Shared; public AudioBuffer Rent(int sampleCount) { var array = _pool.Rent(sampleCount); return new AudioBuffer(array, sampleCount, this); } internal void Return(T[] array) { _pool.Return(array); } } public sealed class AudioBufferPool : GenericBufferPool { } public sealed class ByteBufferPool : GenericBufferPool { }