internal void RecordFromBuffer(short[] buffer) { lock (locker) { if (isRecording) { if (position + buffer.Length < LastSafePosition()) { wavFile.WriteSamples(buffer, (int)position); position += buffer.Length; } else { position = LastSafePosition(); } } } }