aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs')
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs12
1 files changed, 10 insertions, 2 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
index 0b603715d..4668b8bbb 100644
--- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
@@ -920,14 +920,22 @@ namespace MediaBrowser.MediaEncoding.Encoder
bool isResponsive = true;
int lastCount = 0;
+ var timeoutMs = _configurationManager.Configuration.ImageExtractionTimeoutMs;
+ timeoutMs = timeoutMs <= 0 ? DefaultHdrImageExtractionTimeout : timeoutMs;
while (isResponsive)
{
- if (await process.WaitForExitAsync(TimeSpan.FromSeconds(30)).ConfigureAwait(false))
+ try
{
+ await process.WaitForExitAsync(TimeSpan.FromMilliseconds(timeoutMs)).ConfigureAwait(false);
+
ranToCompletion = true;
break;
}
+ catch (OperationCanceledException)
+ {
+ // We don't actually expect the process to be finished in one timeout span, just that one image has been generated.
+ }
cancellationToken.ThrowIfCancellationRequested();
@@ -939,7 +947,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
if (!ranToCompletion)
{
- _logger.LogInformation("Killing ffmpeg extraction process due to inactivity.");
+ _logger.LogInformation("Stopping trickplay extraction due to process inactivity.");
StopProcess(processWrapper, 1000);
}
}