示例#1
0
        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);
        }
示例#3
0
        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);
              }
        }
示例#4
0
        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);
              }
        }