private void Dispose(bool disposing)
 {
     if (_fileStream != null)
     {
         _fileStream.Dispose();
         _fileStream = null;
     }
 }
        public void StopRecording()
        {
            // Dispose write stream
            if (_recordFileStream != null)
            {
                _recordFileStream.Dispose();
                _recordFileStream = null;
            }

            _recording = false;
        }
        // Recording
        public void StartRecording(int clientIndex, double startTimestamp, byte[] data)
        {
            if (_mode != Mode.Record)
            {
                Debug.LogError("SessionCapture: Cannot call StartRecording on playback session.");
                return;
            }

            if (_recording)
            {
                Debug.LogError("SessionCapture: StartRecording() has been called on a session that's already recording. Ignoring. This is a bug!");
                return;
            }

            // Create write stream
            _recordFileStream = new SessionCaptureFileStream(_recordFilePath, SessionCaptureFileStream.Mode.Write);

            // Write header
            _recordFileStream.WriteHeader(clientIndex, startTimestamp, data);

            _recording = true;
        }
 public PlaybackStream(string filePath)
 {
     _fileStream          = new SessionCaptureFileStream(filePath, SessionCaptureFileStream.Mode.Read);
     _sendTimestampOffset = 0.0;
 }