public StreamingCamera(PublishedCamera camera) { if (camera == null) throw new ArgumentNullException("camera"); Camera = camera; _keepCameraAliveTimer = new System.Threading.Timer(KeepCameraAlive, null, TimeSpan.FromSeconds(0), TimeSpan.FromSeconds(4)); }
public override bool Equals(object obj) { bool result = false; if (obj != null) { PublishedCamera other = obj as PublishedCamera; if (other != null && this.Id == other.Id) { result = true; } } return(result); }
public void StopCameraStreaming(PublishedCamera camera) { if (camera == null) throw new ArgumentNullException("camera"); lock (_syncRoot) { if (_cameras.Count(c => c.Id == camera.Id) == 0) return; StreamingCamera streamingCamera = _cameras.Find(c => c.Id == camera.Id); streamingCamera.Stop(); _cameras.Remove(streamingCamera); } }
public void StartCameraStreaming(PublishedCamera camera) { if (camera == null) throw new ArgumentNullException("camera"); lock (_syncRoot) { if (_cameras.Count(c => c.Id == camera.Id) > 0) return; StreamingCamera streamingCamera = new StreamingCamera(camera); streamingCamera.Start(); _cameras.Add(streamingCamera); } }