Beispiel #1
0
        public Stream Read(Stream wavAudio)
        {
            var arguments = GetProcessArguments();

            try
            {
                return(processRunner.RunAndReadOutput(decoderExecutableFile, arguments, wavAudio));
            }
            catch (ExternalProcess.ExecutionException e)
            {
                throw new FlacCompressionException("Failed to read the input 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);
            }
        }