public SparseSampleByteStream( Time <Sample> initialTime, BufferAllocator <byte> allocator, int sliverSize, int maxBufferedFrameCount = 0) : base(initialTime, new DenseFrameByteStream(allocator, sliverSize, maxBufferedFrameCount), maxBufferedFrameCount) { }
public DenseFrameByteStream( BufferAllocator <byte> allocator, int sliverSize, Duration <Frame> maxBufferedDuration = default(Duration <Frame>), bool useContinuousLoopingMapper = false) : base(0, allocator, sliverSize, SliceByteExtension.CopyToSlice, SliceByteExtension.CopyToIntPtr, SliceByteExtension.RawAccess, maxBufferedDuration, useContinuousLoopingMapper) { }
public DenseSampleFloatStream( Time <Sample> initialTime, BufferAllocator <float> allocator, int sliverSize, Duration <Sample> maxBufferedDuration = default(Duration <Sample>), bool useContinuousLoopingMapper = false) : base(initialTime, allocator, sliverSize, SliceFloatExtension.CopyToSlice, SliceFloatExtension.CopyToIntPtr, SliceFloatExtension.RawAccess, maxBufferedDuration, useContinuousLoopingMapper) { }
public BufferedSliceStream( Time <TTime> initialTime, BufferAllocator <TValue> allocator, int sliverSize, Action <IntPtr, Slice <TTime, TValue> > copyIntPtrToSliceAction, Action <Slice <TTime, TValue>, IntPtr> copySliceToIntPtrAction, Action <Slice <TTime, TValue>, Action <IntPtr, int> > rawSliceAccessAction, Duration <TTime> maxBufferedDuration = default(Duration <TTime>), bool useContinuousLoopingMapper = false) : base(initialTime, sliverSize) { _allocator = allocator; _copyIntPtrToSliceAction = copyIntPtrToSliceAction; _copySliceToIntPtrAction = copySliceToIntPtrAction; _rawSliceAccessAction = rawSliceAccessAction; _maxBufferedDuration = maxBufferedDuration; _useContinuousLoopingMapper = useContinuousLoopingMapper; // as long as we are appending, we use the identity mapping // TODO: support delay mapping _intervalMapper = new IdentityIntervalMapper <TTime, TValue>(this); }