Exemple #1
0
        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);
            }
        }