public Stream Encode(FileInfo sourceFile, int compressionLevel) { if (sourceFile == null) { throw new ArgumentNullException(nameof(sourceFile)); } CompressionLevelValidation.ValidateCompressionLevel(compressionLevel); var arguments = GetProcessArguments(compressionLevel, sourceFile); try { return(processRunner.RunAndReadOutput( recoderExecutableFile, arguments)); } catch (ExternalProcess.ExecutionException e) { throw new FlacCompressionException("Failed to re-encode the file", e); } }
public Stream Encode(Stream wavAudio, int compressionLevel) { if (wavAudio == null) { throw new ArgumentNullException(nameof(wavAudio)); } CompressionLevelValidation.ValidateCompressionLevel(compressionLevel); var arguments = GetProcessArguments(compressionLevel); try { return(processRunner.RunAndReadOutput( decoderExecutableFile, arguments, wavAudio)); } catch (ExternalProcess.ExecutionException e) { throw new FlacCompressionException("Failed to encode the file", e); } }