// 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); }