Business.MediaEncoderBusiness.EncodeFileThread C# (CSharp) Метод

EncodeFileThread() приватный Метод

private EncodeFileThread ( MediaEncoderSettings settings ) : EncodingCompletedEventArgs
settings MediaEncoderSettings
Результат EncodingCompletedEventArgs
        private EncodingCompletedEventArgs EncodeFileThread(MediaEncoderSettings settings) {
            EncodingCompletedEventArgs Result = null;
            DateTime StartTime = DateTime.Now;
            Task<bool> VideoEnc = null;
            if (settings.VideoCodec != VideoCodecs.Copy)
                VideoEnc = Task.Run(() => FfmpegBusiness.EncodeH264(settings));

            // Encode audio stream with Nero Aac Encoder
            if (settings.AudioAction == AudioActions.Encode) {
                Task<bool> AudioEnc = Task.Run(() => EncodeAudio(settings));
                if (VideoEnc != null)
                    Task.WaitAll(VideoEnc, AudioEnc);
                else
                    Task.WaitAll(AudioEnc);
            } else if (VideoEnc != null)
                Task.WaitAll(VideoEnc);

            Result = FinalizeEncoding(settings, StartTime);
            return Result;
        }