public FFMpegEncoderTask(MediaEncodingSetup encodingSetup, MediaEncodingTaskInfo taskInfo) { FFMpegEncoderTask ffMpegEncoderTask = this; Id = Guid.NewGuid(); MediaId = taskInfo.Id; _encodingSetup = encodingSetup; _progress = new FFMpegProgress(args => ConvertProgressEvent(this, args)); _workingDirectory = new FileInfo(Assembly.GetEntryAssembly().Location).Directory.FullName; _environmentConfig = new EnvironmentConfig(_workingDirectory); if (!_encodingSetup.NotEncoding) { TaskFinishedCallback += () => ffMpegEncoderTask.OnFinished(ffMpegEncoderTask, new ConvertFinishedEventArgs(DateTime.Now - ffMpegEncoderTask._startTime, taskInfo)); } }