public ConversionApiController(LibraryScanningQueue libraryScanner, MediaConversionQueue converter, ICompleteItems <IExportableConversionItem> completeItems, ILogger <ConversionApiController> logger)
 {
     this.libraryScanner = libraryScanner;
     this.converter      = converter;
     this.completeItems  = completeItems;
     log = logger;
 }
Example #2
0
        /// <param name="ffmpegPath">The path to an FFmpeg executable.</param>
        /// <param name="ffProbePath">The path to an FFprobe executable.</param>
        /// <param name="mp4boxPath">The path to an mp4box executable.</param>
        /// <param name="tempPath">A temp path to use for intermediary files during processing.</param>
        /// <param name="parallelization">The number of files to convert at once.</param>
        /// <param name="logger">A log receiver to capture ffmpeg/mp4box output.</param>
        public MediaConversionQueue(string ffmpegPath, string ffProbePath, string mp4boxPath, string tempPath, int parallelization, ICompleteItems <IExportableConversionItem> completeItems, ILogger <MediaConversionQueue> logger)
        {
            this.completeItems = completeItems ?? throw new ArgumentNullException(nameof(completeItems), "completeItems cannot be null.");
            log = logger ?? throw new ArgumentNullException(nameof(logger), "logger cannot be null.");

            Parallelization      = parallelization <= 0 ? 1 : parallelization;
            this.parallelization = Parallelization;
            encoder = new Encoder(ffmpegPath, ffProbePath, mp4boxPath, workingDirectory: tempPath);
        }