diff options
| author | Claus Vium <cvium@users.noreply.github.com> | 2023-10-10 20:12:07 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-10 20:12:07 +0200 |
| commit | 733ee12ee47e2f744af5f605d82d689088b3fe9b (patch) | |
| tree | 12ec3e4cbe6ba3e5db64cb8e558ff52c8dd4b4aa /MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | |
| parent | ba23c880f3ac5e5892a730b20ab78d8bc78d91bb (diff) | |
| parent | 4757ce105bedb075c6663d92bc1e93f87c4779f2 (diff) | |
Merge pull request #10378 from Bond-009/waitforexitasync
Use Process.WaitForExitAsync added in .NET 5
Diffstat (limited to 'MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs')
| -rw-r--r-- | MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index 26f47a18f..99c49e4ae 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -752,11 +752,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 @@ -991,7 +995,7 @@ namespace MediaBrowser.MediaEncoding.Encoder return true; } - private class ProcessWrapper : IDisposable + private sealed class ProcessWrapper : IDisposable { private readonly MediaEncoder _mediaEncoder; @@ -1034,13 +1038,7 @@ namespace MediaBrowser.MediaEncoding.Encoder _mediaEncoder._runningProcesses.Remove(this); } - try - { - process.Dispose(); - } - catch - { - } + process.Dispose(); } public void Dispose() |
