/// <summary> /// Constructor /// </summary> /// <param name="port">Server port</param> /// <param name="sensor"></param> public KinectFrameServer(int port, KinectSensor sensor) { this.sensor = sensor; this.listener = new KinectClientListener(port); this.listener.ClientConnected += listener_ClientConnected; this.depthCompressor = new SnappyFrameCompressor(KinectFrameInformation.DepthFrame); this.bodyIndexCompressor = new SnappyFrameCompressor(KinectFrameInformation.BodyIndexFrame); this.multiSourceReader = sensor.OpenMultiSourceFrameReader(FrameSourceTypes.BodyIndex | FrameSourceTypes.Depth); this.multiSourceReader.MultiSourceFrameArrived += multiSourceReader_MultiSourceFrameArrived; }
public void TextCompressBodyFrame() { DepthFrameData frame = FakeImageData.RandomDepthFrame(); SnappyFrameCompressor compressor = new SnappyFrameCompressor(KinectFrameInformation.DepthFrame); compressor.Compress(frame.DataPointer); SnappyFrameDecompressor decompressor = new SnappyFrameDecompressor(KinectFrameInformation.DepthFrame); var barray = compressor.CompressedFrameData; fixed (byte* bptr = &barray[0]) { decompressor.UnCompress(new IntPtr(bptr), compressor.CompressedSize); } var decomparray = decompressor.UnCompressedFrameData; fixed (byte* bptr = &barray[0]) { FakeImageData.ByteCheck(frame.DataPointer, new IntPtr(bptr), decompressor.UnCompressedSize); } frame.Dispose(); }