diff options
| author | Jan Müller <github@lonebyte.de> | 2023-09-16 12:40:05 +0200 |
|---|---|---|
| committer | Jan Müller <github@lonebyte.de> | 2023-09-16 12:40:05 +0200 |
| commit | fd022ee6850c364a9f3c2d8de2b06f26ee1b8abf (patch) | |
| tree | d2aec7c1a9ae2d2b77b5c764a99a4434a6e4a21c /MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs | |
| parent | 79cff704ff4e00895a8d2b97ecbbea3e2f5f56fc (diff) | |
| parent | 61155adecd8a69bb476487f9fc81175b0c4185b7 (diff) | |
Merge branch 'master' into flac-hls-fixes
# Conflicts:
# Jellyfin.Api/Controllers/DynamicHlsController.cs
Diffstat (limited to 'MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs')
| -rw-r--r-- | MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs index 38118ed0e..db119ce5c 100644 --- a/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs +++ b/MediaBrowser.MediaEncoding/Encoder/EncoderValidator.cs @@ -553,7 +553,8 @@ namespace MediaBrowser.MediaEncoding.Encoder private string GetProcessOutput(string path, string arguments, bool readStdErr, string? testKey) { - using (var process = new Process() + var redirectStandardIn = !string.IsNullOrEmpty(testKey); + using (var process = new Process { StartInfo = new ProcessStartInfo(path, arguments) { @@ -561,7 +562,7 @@ namespace MediaBrowser.MediaEncoding.Encoder UseShellExecute = false, WindowStyle = ProcessWindowStyle.Hidden, ErrorDialog = false, - RedirectStandardInput = !string.IsNullOrEmpty(testKey), + RedirectStandardInput = redirectStandardIn, RedirectStandardOutput = true, RedirectStandardError = true } @@ -571,12 +572,14 @@ namespace MediaBrowser.MediaEncoding.Encoder process.Start(); - if (!string.IsNullOrEmpty(testKey)) + if (redirectStandardIn) { - process.StandardInput.Write(testKey); + using var writer = process.StandardInput; + writer.Write(testKey); } - return readStdErr ? process.StandardError.ReadToEnd() : process.StandardOutput.ReadToEnd(); + using var reader = readStdErr ? process.StandardError : process.StandardOutput; + return reader.ReadToEnd(); } } } |
