public KinectReceiver(Material azureKinectScreenMaterial, AzureKinectScreen azureKinectScreen) { this.azureKinectScreenMaterial = azureKinectScreenMaterial; this.azureKinectScreen = azureKinectScreen; textureGroup = new TextureGroup(Plugin.texture_group_reset()); udpSocket = null; receiverStopped = false; videoMessageQueue = new ConcurrentQueue <Tuple <int, VideoSenderMessageData> >(); lastVideoFrameId = -1; colorDecoder = null; depthDecoder = null; preapared = false; ringBuffer = new RingBuffer((int)(KH_LATENCY_SECONDS * 2 * KH_BYTES_PER_SECOND / sizeof(float))); audioDecoder = new AudioDecoder(KH_SAMPLE_RATE, KH_CHANNEL_COUNT); lastAudioFrameId = -1; videoMessages = new Dictionary <int, VideoSenderMessageData>(); frameStopWatch = Stopwatch.StartNew(); }