private void RemoveCamera(Configuration.Cameras.Camera camera) { List <int> toRemove = new List <int>(); int i = 0; foreach (var cam in cameras) { if (camera.Identifier == cam.Identifier) { toRemove.Add(i); cam.Stop(); } i++; } toRemove.Reverse(); foreach (var j in toRemove) { if (recordings.ContainsKey(cameras[j].Identifier)) { cameras[j].OnFrames -= RecordFrames; recordings.Remove(cameras[j].Identifier); } cameras.RemoveAt(j); } }
internal Camera(Configuration.Cameras.Camera camera) { cancellationTokenSource = new CancellationTokenSource(); settings = camera; viewers = 0; streamWatcher = new Utils.StreamWatcher(); startupThread = new Thread(WorkThread); stop = new ManualResetEventSlim(false); startupThread.Start(); }
private void AddCamera(Configuration.Cameras.Camera camera) { Camera solidCamera = new Camera(camera); cameras.Add(solidCamera); if (camera.StorageIdentifier != null) { Recorder.DataFile dataFile = storage.GetStorage(camera.StorageIdentifier); if (dataFile != null) { recordings.Add(camera.Identifier, dataFile); solidCamera.OnFrames += RecordFrames; } } }
public DeviceLink(Configuration.Cameras.Camera camera) : base(camera, camera.Endpoint) { }
internal MediaLink(Configuration.Cameras.Camera camera, string endpoint) : base(camera, endpoint) { }
protected BaseService(Configuration.Cameras.Camera camera, string endpoint) { this.camera = camera; this.endpoint = endpoint; }