From 4757ce105bedb075c6663d92bc1e93f87c4779f2 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Tue, 10 Oct 2023 00:18:50 +0200 Subject: Use Process.WaitForExitAsync added in .NET 5 --- MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs') diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index 4bff19665..0eaf9748f 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -760,11 +760,15 @@ namespace MediaBrowser.MediaEncoding.Encoder timeoutMs = enableHdrExtraction ? DefaultHdrImageExtractionTimeout : DefaultSdrImageExtractionTimeout; } - ranToCompletion = await process.WaitForExitAsync(TimeSpan.FromMilliseconds(timeoutMs)).ConfigureAwait(false); - - if (!ranToCompletion) + try + { + await process.WaitForExitAsync(TimeSpan.FromMilliseconds(timeoutMs)).ConfigureAwait(false); + ranToCompletion = true; + } + catch (OperationCanceledException) { - StopProcess(processWrapper, 1000); + process.Kill(true); + ranToCompletion = false; } } finally @@ -999,7 +1003,7 @@ namespace MediaBrowser.MediaEncoding.Encoder return true; } - private class ProcessWrapper : IDisposable + private sealed class ProcessWrapper : IDisposable { private readonly MediaEncoder _mediaEncoder; @@ -1042,13 +1046,7 @@ namespace MediaBrowser.MediaEncoding.Encoder _mediaEncoder._runningProcesses.Remove(this); } - try - { - process.Dispose(); - } - catch - { - } + process.Dispose(); } public void Dispose() -- cgit v1.2.3