public async Task<EncoderStatus> Start(string arguments, CancellationTokenSourceWrapper tokenSource, Action<string> processedData) { try { EncoderStatus encoderStatus; await _process.Start(arguments, processedData, tokenSource.Token); if (_tempFileManager.ExistsEncodingFile()) { encoderStatus = CreateEncoderStatus(EncoderState.Completed, String.Empty); } else { tokenSource.Cancel(); encoderStatus = CreateEncoderStatus(EncoderState.Failed, "Output file was not created."); } return encoderStatus; } catch (OperationCanceledException ex) { tokenSource.Cancel(); EncoderStatus encoderStatus = CreateEncoderStatus(EncoderState.Cancelled, ex.Message); return encoderStatus; } catch (Exception ex) { tokenSource.Cancel(); EncoderStatus encoderStatus = CreateEncoderStatus(EncoderState.Failed, ex.Message); return encoderStatus; } }
public void Initialize(string resource, string taskId, CancellationTokenSourceWrapper cancellationTokenSourceWrapper) { Resource = resource; }
public void Start(CancellationTokenSourceWrapper tokenSource) { IsOverflowing = false; _tokenSource = tokenSource; _timer.SetCallback(Callback); }