//called when the lock is acquired and cameraPort is non-existent in the dictionary private void InitCamera(VPort cameraPort) { VCapability capability = GetCapability(cameraPort, Constants.UserSystem); //return if we didn't get a capability if (capability == null) { logger.Log("{0} didn't get a capability for {1}", this.ToString(), cameraPort.ToString()); return; } //otherwise, add this to our list of cameras logger.Log("{0} adding camera port {1}", this.ToString(), cameraPort.ToString()); CameraInfo cameraInfo = new CameraInfo(); cameraInfo.Capability = capability; cameraInfo.LastImageBytes = new byte[0]; cameraInfo.VideoWriter = null; cameraInfo.CurrVideoStartTime = DateTime.MinValue; cameraInfo.CurrVideoEndTime = DateTime.MinValue; registeredCameras.Add(cameraPort, cameraInfo); string cameraFriendlyName = cameraPort.GetInfo().GetFriendlyName(); cameraFriendlyNames.Add(cameraFriendlyName, cameraPort); cameraPort.Subscribe(RoleCamera.RoleName, RoleCamera.OpGetVideo, ControlPort, cameraInfo.Capability, ControlPortCapability); }