// Add new camera to the collection and run it public bool Add(CameraPlay camwin, DeviceInfo deviceInfo, CameraInfo camera) { // create video source IVideoSource videoSource= DeviceBusiness.Instance.CreateVideoSource(deviceInfo.ProviderName); if (videoSource == null) { return false; } DeviceDriver device = new DeviceDriver(videoSource); if (!RunningDeviceList.ContainsKey(deviceInfo.DeviceId)) { deviceInfo.ServiceID = -1; device.Init(ref deviceInfo); RunningDeviceList.Add(deviceInfo.DeviceId, deviceInfo); RunningDriverList.Add(camera.CameraId, device); } else { deviceInfo = RunningDeviceList[deviceInfo.DeviceId]; device.Init(ref deviceInfo); RunningDriverList.Add(camera.CameraId, device); } device.Start(ref camera); camwin.Camera = device; return true; }
// Set camera to the specified position of the multiplexer public CameraPlay SetCamera(int row, int col, DeviceDriver camera) { if ((row >= 0) && (col >= 0) && (row < MaxRows) && (col < MaxCols)) { camWindows[row, col].Camera = camera; return camWindows[row, col]; } return null; }