aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs13
-rw-r--r--MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs6
2 files changed, 12 insertions, 7 deletions
diff --git a/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs b/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs
index 55d1f810b..46fb47b7b 100644
--- a/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs
+++ b/Emby.Server.Implementations/LiveTv/EmbyTV/EncodedRecorder.cs
@@ -290,9 +290,11 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
/// </summary>
private void OnFfMpegProcessExited(Process process, string inputFile)
{
- _hasExited = true;
+ try
+ {
+ _hasExited = true;
- _logFileStream?.Dispose();
+ _logFileStream?.Dispose();
_logFileStream = null;
var exitCode = process.ExitCode;
@@ -311,7 +313,12 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
CultureInfo.InvariantCulture,
"Recording for {0} failed. Exit code {1}",
_targetPath,
- exitCode)));
+ exitCode)));
+ }
+ }
+ finally
+ {
+ process.Dispose();
}
}
diff --git a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
index e2be2ea57..1736d79cf 100644
--- a/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Subtitles/SubtitleEncoder.cs
@@ -436,6 +436,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
ErrorDialog = false
};
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
+ process.Exited += (sender, args) => ((Process)sender).Dispose();
_logger.LogInformation("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments);
@@ -468,8 +469,6 @@ namespace MediaBrowser.MediaEncoding.Subtitles
var exitCode = ranToCompletion ? process.ExitCode : -1;
- process.Dispose();
-
var failed = false;
if (exitCode == -1)
@@ -585,6 +584,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
ErrorDialog = false
};
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
+ process.Exited += (sender, args) => ((Process)sender).Dispose();
_logger.LogInformation("{File} {Arguments}", process.StartInfo.FileName, process.StartInfo.Arguments);
@@ -617,8 +617,6 @@ namespace MediaBrowser.MediaEncoding.Subtitles
var exitCode = ranToCompletion ? process.ExitCode : -1;
- process.Dispose();
-
var failed = false;
if (exitCode == -1)