/// <summary>
 /// Initializes a new instance of the <see cref="FFMPEGScreenRecorder"/> class.
 /// </summary>
 /// <param name="ffmpegScreenRecorderOptions">
 /// The ffmpeg screen recorder options.
 /// </param>
 public FFMPEGScreenRecorder(FFMPEGScreenRecorderOptions ffmpegScreenRecorderOptions)
 {
     ffmpegPath          = Path.GetFullPath(ffmpegScreenRecorderOptions.FfmpegPath).Trim('\\');
     frameCaptureBackend = ffmpegScreenRecorderOptions.FrameCaptureBackend;
     frameSaverTasks     = new List <Task>();
     savedFrames         = new ConcurrentQueue <Frame>();
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="FFMPEGScreenRecorderOptions"/> class.
 /// </summary>
 /// <param name="ffmpegPath">
 /// The ffmpeg path.
 /// </param>
 /// <param name="frameCaptureBackend">
 /// The frame capture backend.
 /// </param>
 public FFMPEGScreenRecorderOptions(string ffmpegPath, IFrameCaptureBackend frameCaptureBackend)
 {
     this.FfmpegPath          = ffmpegPath;
     this.FrameCaptureBackend = frameCaptureBackend;
 }