private void ExecuteMuxResult() { switch (_currentJob.EncodingProfile.OutFormat) { case OutputType.OutputMatroska: case OutputType.OutputWebM: _currentEncoder = _mkvMerge; break; case OutputType.OutputMp4: _currentEncoder = _mp4Box; break; case OutputType.OutputTs: case OutputType.OutputM2Ts: case OutputType.OutputBluRay: case OutputType.OutputAvchd: _currentEncoder = _tsMuxeR; break; case OutputType.OutputDvd: _currentEncoder = _dvdAuthor; break; } ExecuteGenericEncoder(); }
private void ExecuteEncodeAudio() { switch (_currentJob.AudioProfile.Type) { case ProfileType.Ac3: _currentEncoder = _ffmpegAc3; break; case ProfileType.Ogg: _currentEncoder = _oggEnc; break; case ProfileType.Aac: _currentEncoder = _neroAac; break; case ProfileType.Mp3: _currentEncoder = _lame; break; case ProfileType.Copy: if (_currentJob.EncodingProfile.OutFormat == OutputType.OutputDvd && !_processingService.CheckAudioDvdCompatible(_currentJob.AudioStreams[_currentJob.StreamId])) { _currentEncoder = _ffmpegAc3; } break; } ExecuteGenericEncoder(); }
private void ExecuteDemux() { switch (_currentJob.Input) { case InputType.InputBluRay: _currentEncoder = _demuxerTsMuxeR; break; case InputType.InputAvchd: case InputType.InputHddvd: _currentEncoder = _eac3To; break; case InputType.InputDvd: case InputType.InputAvi: case InputType.InputFlash: case InputType.InputMp4: case InputType.InputWm: case InputType.InputMatroska: case InputType.InputMpegps: case InputType.InputTs: case InputType.InputOgg: case InputType.InputWebM: _currentEncoder = _ffmpegDemuxer; break; } ExecuteGenericEncoder(); }
private void EncodeCompleted(object sender, EncodeCompletedEventArgs args) { _finishedSteps++; _currentEncoder.EncodeCompleted -= EncodeCompleted; _currentEncoder.EncodeStarted -= EncodeStarted; _currentEncoder.EncodeStatusChanged -= EncoderProgressStatus; _currentEncoder = null; DeleteTempFiles(); if (_currentJob != null && _currentJob.ExitCode == 0) { InvokeQueueStatusChanged(new QueueProgressEventArgs { JobName = string.Empty, AverageFrameRate = 0f, CurrentFrameRate = 0f, CurrentFrame = 0, TotalFrames = 0, ElapsedTime = new TimeSpan(), EstimatedTimeLeft = new TimeSpan(), PercentComplete = 0, TotalPercentComplete = (_finishedSteps * _fullTaskPercent), Pass = 0, }); GetNextStep(); if (_currentJob.NextStep == EncodingStep.Done && _queueList.IndexOf(_currentJob) < _queueList.Count - 1) { _currentJob = GetNextJob(); GetNextStep(); } else if (_currentJob.NextStep == EncodingStep.Done && _queueList.IndexOf(_currentJob) == _queueList.Count - 1) { InvokeQueueCompleted(new QueueCompletedEventArgs(true, null, string.Empty)); return; } ExecuteNextStep(); } else { var currentJob = _currentJob; var exitCode = -1; if (currentJob != null) { exitCode = currentJob.ExitCode; } InvokeQueueCompleted(new QueueCompletedEventArgs(false, new ApplicationException("Encoder exited with code " + exitCode), "Encoder exited with code " + exitCode)); } }
private void ExecuteProcessSubtitle() { switch (_currentJob.EncodingProfile.OutFormat) { case OutputType.OutputMp4: // TODO: Text Subtitle converter break; default: _currentEncoder = _bdSup2Sub; break; } ExecuteGenericEncoder(); }
private void ExecuteEncodeVideo() { switch (_currentJob.VideoProfile.Type) { case ProfileType.X264: // TODO: Switch encoder based on settings //this._currentEncoder = this._x264; _currentEncoder = _ffmpegX264; break; case ProfileType.Mpeg2Video: _currentEncoder = _ffmpegDvd; break; case ProfileType.Vp8: // TODO: VPXEnc break; } ExecuteGenericEncoder(); }
private void ExecutePremuxSubtitle() { _currentEncoder = _spuMux; ExecuteGenericEncoder(); }
private void ExecutePremuxResult() { _currentEncoder = _mplex; ExecuteGenericEncoder(); }
private void ExecuteGetCropRect() { _currentEncoder = _ffmpegGetCrop; ExecuteGenericEncoder(); }
private void ExecuteIndexVideo() { _currentEncoder = _ffmsIndex; ExecuteGenericEncoder(); }
private void ExecuteDemuxSubtitle() { _currentEncoder = _mkvExtractSubtitle; ExecuteGenericEncoder(); }
private void ExecuteDump() { _currentEncoder = _mplayerDemuxer; ExecuteGenericEncoder(); }
private void ExecuteCopyTempFile() { _currentEncoder = _fileWorker; ExecuteGenericEncoder(); }
private void ExecuteMoveOutFile() { _currentEncoder = _fileWorker; ExecuteGenericEncoder(); }