public unsafe AudioBuffer(byte[] data, BufferFlags flags = BufferFlags.EndOfStream) { Flags = flags; AudioBytes = data.Length; AudioDataPointer = MemoryHelpers.AllocateMemory(data.Length); fixed(void *dataPtr = &data[0]) { Unsafe.CopyBlockUnaligned(AudioDataPointer.ToPointer(), dataPtr, (uint)data.Length); } _ownsBuffer = true; }
public AudioBuffer(byte[] data, BufferFlags flags = BufferFlags.EndOfStream) { Flags = flags; AudioBytes = data.Length; AudioDataPointer = MemoryHelpers.AllocateMemory(data.Length); unsafe { Unsafe.CopyBlockUnaligned( AudioDataPointer.ToPointer(), Unsafe.AsPointer(ref data[0]), (uint)data.Length); } _ownsBuffer = true; }