public KinectReplay(Stream stream) { this.stream = stream; reader = new BinaryReader(stream); synchronizationContext = SynchronizationContext.Current; KinectRecordOptions options = (KinectRecordOptions)reader.ReadInt32(); if ((options & KinectRecordOptions.Color) != 0) { colorReplay = new ReplaySystem <ReplayColorImageFrame>(); } //if ((options & KinectRecordOptions.Depth) != 0) //{ // depthReplay = new ReplaySystem<ReplayDepthImageFrame>(); //} //if ((options & KinectRecordOptions.Skeletons) != 0) //{ // skeletonReplay = new ReplaySystem<ReplaySkeletonFrame>(); //} while (reader.BaseStream.Position + 4 < reader.BaseStream.Length) { if (reader.BaseStream.Position > 67580000) { Console.WriteLine("Position: " + reader.BaseStream.Position + " of " + reader.BaseStream.Length); } KinectRecordOptions header = (KinectRecordOptions)reader.ReadInt32(); switch (header) { case KinectRecordOptions.Color: colorReplay.AddFrame(reader); break; //case KinectRecordOptions.Depth: // depthReplay.AddFrame(reader); // break; //case KinectRecordOptions.Skeletons: // skeletonReplay.AddFrame(reader); // break; } } }
public void Dispose() { Stop(); colorReplay = null; //depthReplay = null; //skeletonReplay = null; if (reader != null) { reader.Dispose(); reader = null; } if (stream != null) { stream.Dispose(); stream = null; } }