public Stream Trim(Stream input, TrimOptions options) { if (input == null) { throw new ArgumentNullException("input"); } string outputExtension = GetFileExtension(options.OutputFileInfo.FileType); string inputExtensions = GetFileExtension(options.InputFileInfo.FileType); var inputFileName = Path.Combine(TempDir, Guid.NewGuid() + inputExtensions); input.WriteToFile(inputFileName); var outputFileName = Path.Combine(TempDir, Guid.NewGuid() + outputExtension); var cmdLineArgs = BuildTrimCommandLineArgs(inputFileName, outputFileName, options); var fileName = Path.GetFullPath(Path.Combine(SoxDirectory, "sox.exe")); RunSox(fileName, cmdLineArgs); File.Delete(inputFileName); return new DeleteFileStream(outputFileName); }
public Stream Trim(Stream input, TrimOptions options) { if (input == null) { throw new ArgumentNullException("input"); } string outputExtension = GetFileExtension(options.OutputFileInfo.FileType); string inputExtensions = GetFileExtension(options.InputFileInfo.FileType); var inputFileName = Path.Combine(TempDir, Guid.NewGuid() + inputExtensions); input.WriteToFile(inputFileName); var outputFileName = Path.Combine(TempDir, Guid.NewGuid() + outputExtension); var cmdLineArgs = BuildTrimCommandLineArgs(inputFileName, outputFileName, options); var fileName = Path.GetFullPath(Path.Combine(SoxDirectory, "sox.exe")); RunSox(fileName, cmdLineArgs); File.Delete(inputFileName); return(new DeleteFileStream(outputFileName)); }
private string BuildTrimCommandLineArgs(string inputFileName, string outputFileName, TrimOptions options) { StringBuilder result = new StringBuilder(); result.Append(BuildCommandLineArgs(options.InputFileInfo)); result.Append(" " + inputFileName); result.Append(BuildCommandLineArgs(options.OutputFileInfo)); result.Append(" " + outputFileName); result.Append(" trim"); result.Append(" " + options.StartTime.ToCommandLineArg()); if (options.Length != null && options.End != null) { throw new Exception("Only length or end is allowed not both"); } if (options.Length != null) { result.Append(" " + options.Length.ToCommandLineArg()); } else if (options.End != null) { result.Append(" =" + options.End.ToCommandLineArg()); } return(result.ToString()); }
private string BuildTrimCommandLineArgs(string inputFileName, string outputFileName, TrimOptions options) { StringBuilder result = new StringBuilder(); result.Append(BuildCommandLineArgs(options.InputFileInfo)); result.Append(" " + inputFileName); result.Append(BuildCommandLineArgs(options.OutputFileInfo)); result.Append(" " + outputFileName); result.Append(" trim"); result.Append(" " + options.StartTime.ToCommandLineArg()); if (options.Length != null && options.End != null) { throw new Exception("Only length or end is allowed not both"); } if (options.Length != null) { result.Append(" " + options.Length.ToCommandLineArg()); } else if (options.End != null) { result.Append(" =" + options.End.ToCommandLineArg()); } return result.ToString(); }