private async Task RemoteRecord(RecordCommand command) { _heartbeat.Disable(); var uploader = new FrameUploader(_listener.LocalHost.ToString(), command.Address, command.Port); _model.FramesProcessed += uploader.Upload; uploader.UploadComplete += () => { _model.FramesProcessed -= uploader.Upload; }; await Dispatch(() => _model.Record.Execute(null)); _heartbeat.Enable(TimeSpan.FromSeconds(3)); }
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); }); }