public void ProcessNewSkeletonData(Skeleton skeleton, double deltaTimeMilliseconds) { if (!IsRecording) return; DeltaTimeInSeconds = deltaTimeMilliseconds / 1000.000; TotalTime += DeltaTimeInSeconds; SkeletonCapture capture = new SkeletonCapture() { DelayInMilliSeconds = deltaTimeMilliseconds, Skeleton = skeleton }; try { MemoryStream memTmp = new MemoryStream(); formatter.Serialize(memTmp, capture); byte[] buffer = memTmp.GetBuffer(); writer.Write(buffer.Length); writer.Write(buffer, 0, (int)buffer.Length); FramesRecorded++; } catch (SerializationException e) { Console.WriteLine("Failed to serialize. Reason: " + e.Message); throw; } }