public CompressionLevelService( CompressionLevelInferrer metadataPreservedService, CompressionLevelInferrer metadataDiscardedService) { this.metadataPreservedService = metadataPreservedService; this.metadataDiscardedService = metadataDiscardedService; }
private static CompressionLevelService BuildComponents(FileInfo flacExe) { var processRunner = new ExternalProcess.ProcessRunner(processTimeoutSec); IAudioFileEncoder encoder_MetadataPreserved = new FileRecoder(flacExe, processRunner); IAudioFileEncoder encoder_MetadataDiscarded = new AudioFileEncoder( new FileDecoder(flacExe, processRunner), new StreamEncoder(flacExe, processRunner)); IFileInfoSizeGetter fileSize = new FileInfoSizeGetter(); var service_MetadataPreserved = new CompressionLevelInferrer( new CompressedSizeService(encoder_MetadataPreserved), fileSize, minCompressionLevel, maxCompressionLevel); var service_MetadataDiscarded = new CompressionLevelInferrer( new CompressedSizeService(encoder_MetadataDiscarded), fileSize, minCompressionLevel, maxCompressionLevel); return(new CompressionLevelService(service_MetadataPreserved, service_MetadataDiscarded)); }
private void CreateTarget(int minCompressionLevel, int maxCompressionLevel) { target = new CompressionLevelInferrer( encoder.Object, fileSizeGetter.Object, minCompressionLevel, maxCompressionLevel); }
public Range <int> InferCompressionLevel(FileInfo sourceFile, int targetCompressionLevel, MetadataMode metadataMode) { CompressionLevelInferrer service = PickEncoder(metadataMode); return(service.InferCompressionLevel(sourceFile, targetCompressionLevel)); }