private async Task RemoteRecord(RecordCommand command)
        {
            await ReportState(CameraClientState.Preparing);

            var uploader = new FrameUploader(_listener.LocalHost.ToString(), command.Address, command.Port);

            _model.FramesProcessed  += uploader.Upload;
            uploader.UploadComplete += () =>
            {
                _model.FramesProcessed -= uploader.Upload;
                State = CameraClientState.Idle;
            };

            await Dispatch(() => { _model.Record.Execute(null); });
        }
        private async Task EnableHeartbeat(EnableHeartbeatCommand command)
        {
            _server = command.Address;
            _port   = command.Port;
            State   = CameraClientState.Idle;

            _heartbeat.UpdateCallback(async() =>
            {
                await SendHearbeat();

                if (State == CameraClientState.Idle)
                {
                    _heartbeat.Enable(TimeSpan.FromSeconds(3));
                }
            });
            _heartbeat.Enable(TimeSpan.FromSeconds(1));
            await Task.Yield();
        }
        private async Task EnableHeartbeat(EnableHeartbeatCommand command)
        {
            _server = command.Address;
            _port = command.Port;
            State = CameraClientState.Idle;

            _heartbeat.UpdateCallback(async () =>
            {
                await SendHearbeat();

                if (State == CameraClientState.Idle)
                {
                    _heartbeat.Enable(TimeSpan.FromSeconds(3));
                }
            });
            _heartbeat.Enable(TimeSpan.FromSeconds(1));
            await Task.Yield();
        }
 private async Task ReportState(CameraClientState state)
 {
     State = state;
     await SendHearbeat();
 }
        private async Task RemoteRecord(RecordCommand command)
        {
            await ReportState(CameraClientState.Preparing);

            var uploader = new FrameUploader(_listener.LocalHost.ToString(), command.Address, command.Port);
            _model.FramesProcessed += uploader.Upload;
            uploader.UploadComplete += () =>
            {
                _model.FramesProcessed -= uploader.Upload;
                State = CameraClientState.Idle;
            };

            await Dispatch(() => { _model.Record.Execute(null); });
        }
 private async Task ReportState(CameraClientState state)
 {
     State = state;
     await SendHearbeat();
 }
Exemplo n.º 7
0
 public CameraHeartBeat(string cameraId, IBuffer buffer, CameraClientState state)
 {
     CameraId   = cameraId;
     ViewBuffer = buffer;
     State      = state;
 }
Exemplo n.º 8
0
 public CameraHeartBeat(string cameraId, IBuffer buffer, CameraClientState state)
 {
     CameraId = cameraId;
     ViewBuffer = buffer;
     State = state;
 }