예제 #1
0
        /// <summary>
        /// Checks if the HandbrakeEncoder is available to immediately start
        /// encoding the next file. If it is not, nothing is done until the
        /// encoder is no longer busy.
        /// </summary>
        private void CheckAndQueueEncoderTask()
        {
            UpdateEncodeQueueList();

            if (_encoderWorker.IsBusy || encodeQueueFiles.Count == 0)
            {
                return;
            }

            // Start encoding the next file in the queue
            var sourceFile = encodeQueueFiles[0];
            var destinationFile = Path.Combine(Settings.Default.OutputFolder,
                                                  Path.GetFileNameWithoutExtension(sourceFile));
            destinationFile = Path.ChangeExtension(destinationFile, Settings.Default.OutputFileExtension);

            var settings = new EncoderSettings
                               {
                                   SourceFilename = sourceFile,
                                   DestinationFilename = destinationFile
                               };
            //_encoder.SourceFilename = sourceFile;
            //_encoder.DestinationFilename = destinationFile;
            _encoderWorker.RunWorkerAsync(settings);

            //UpdateEncodeQueueList();

            //_encodeQueueFiles.RemoveAt(0);
        }
 public IEncoder GetEncoder(EncoderSettings settings)
 {
     return new HandbrakeEncoder();
 }
예제 #3
0
 public void Encode(EncoderSettings settings)
 {
 }
 public void Encode(EncoderSettings settings)
 {
     
 }