Delete unnecessary ProcessFactory abstraction

This commit is contained in:
Mark Monteiro 2020-03-27 00:45:48 +01:00
parent ee2f911a2b
commit b947d98266
7 changed files with 44 additions and 96 deletions

View File

@ -30,7 +30,6 @@ using Emby.Server.Implementations.Configuration;
using Emby.Server.Implementations.Cryptography; using Emby.Server.Implementations.Cryptography;
using Emby.Server.Implementations.Data; using Emby.Server.Implementations.Data;
using Emby.Server.Implementations.Devices; using Emby.Server.Implementations.Devices;
using Emby.Server.Implementations.Diagnostics;
using Emby.Server.Implementations.Dto; using Emby.Server.Implementations.Dto;
using Emby.Server.Implementations.HttpServer; using Emby.Server.Implementations.HttpServer;
using Emby.Server.Implementations.HttpServer.Security; using Emby.Server.Implementations.HttpServer.Security;
@ -85,7 +84,6 @@ using MediaBrowser.MediaEncoding.BdInfo;
using MediaBrowser.Model.Activity; using MediaBrowser.Model.Activity;
using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Cryptography; using MediaBrowser.Model.Cryptography;
using MediaBrowser.Model.Diagnostics;
using MediaBrowser.Model.Dlna; using MediaBrowser.Model.Dlna;
using MediaBrowser.Model.Events; using MediaBrowser.Model.Events;
using MediaBrowser.Model.Globalization; using MediaBrowser.Model.Globalization;
@ -336,8 +334,6 @@ namespace Emby.Server.Implementations
internal IImageEncoder ImageEncoder { get; private set; } internal IImageEncoder ImageEncoder { get; private set; }
protected IProcessFactory ProcessFactory { get; private set; }
protected readonly IXmlSerializer XmlSerializer; protected readonly IXmlSerializer XmlSerializer;
protected ISocketFactory SocketFactory { get; private set; } protected ISocketFactory SocketFactory { get; private set; }
@ -685,9 +681,6 @@ namespace Emby.Server.Implementations
serviceCollection.AddSingleton(XmlSerializer); serviceCollection.AddSingleton(XmlSerializer);
ProcessFactory = new ProcessFactory();
serviceCollection.AddSingleton(ProcessFactory);
serviceCollection.AddSingleton(typeof(IStreamHelper), typeof(StreamHelper)); serviceCollection.AddSingleton(typeof(IStreamHelper), typeof(StreamHelper));
var cryptoProvider = new CryptographyProvider(); var cryptoProvider = new CryptographyProvider();
@ -748,7 +741,6 @@ namespace Emby.Server.Implementations
LoggerFactory.CreateLogger<MediaBrowser.MediaEncoding.Encoder.MediaEncoder>(), LoggerFactory.CreateLogger<MediaBrowser.MediaEncoding.Encoder.MediaEncoder>(),
ServerConfigurationManager, ServerConfigurationManager,
FileSystemManager, FileSystemManager,
ProcessFactory,
LocalizationManager, LocalizationManager,
() => SubtitleEncoder, () => SubtitleEncoder,
startupConfig, startupConfig,
@ -868,8 +860,7 @@ namespace Emby.Server.Implementations
FileSystemManager, FileSystemManager,
MediaEncoder, MediaEncoder,
HttpClient, HttpClient,
MediaSourceManager, MediaSourceManager);
ProcessFactory);
serviceCollection.AddSingleton(SubtitleEncoder); serviceCollection.AddSingleton(SubtitleEncoder);
serviceCollection.AddSingleton(typeof(IResourceFileManager), typeof(ResourceFileManager)); serviceCollection.AddSingleton(typeof(IResourceFileManager), typeof(ResourceFileManager));
@ -1727,15 +1718,14 @@ namespace Emby.Server.Implementations
throw new NotSupportedException(); throw new NotSupportedException();
} }
var process = ProcessFactory.Create(new ProcessStartInfo var processStartInfo = new ProcessStartInfo
{ {
FileName = url, FileName = url,
UseShellExecute = true, UseShellExecute = true,
ErrorDialog = false ErrorDialog = false
}); };
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
process.EnableRaisingEvents = true; process.Exited += (sender, args) => ((Process)sender).Dispose();
process.Exited += (sender, args) => ((Process)sender).Dispose(); ;
try try
{ {

View File

@ -1,15 +0,0 @@
#pragma warning disable CS1591
using System.Diagnostics;
using MediaBrowser.Model.Diagnostics;
namespace Emby.Server.Implementations.Diagnostics
{
public class ProcessFactory : IProcessFactory
{
public Process Create(ProcessStartInfo startInfo)
{
return new Process { StartInfo = startInfo };
}
}
}

View File

@ -26,7 +26,6 @@ using MediaBrowser.Controller.LiveTv;
using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Controller.Providers; using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Diagnostics;
using MediaBrowser.Model.Dto; using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Events; using MediaBrowser.Model.Events;
@ -62,7 +61,6 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
private readonly ILibraryManager _libraryManager; private readonly ILibraryManager _libraryManager;
private readonly IProviderManager _providerManager; private readonly IProviderManager _providerManager;
private readonly IMediaEncoder _mediaEncoder; private readonly IMediaEncoder _mediaEncoder;
private readonly IProcessFactory _processFactory;
private readonly IMediaSourceManager _mediaSourceManager; private readonly IMediaSourceManager _mediaSourceManager;
private readonly IStreamHelper _streamHelper; private readonly IStreamHelper _streamHelper;
@ -89,8 +87,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
ILibraryManager libraryManager, ILibraryManager libraryManager,
ILibraryMonitor libraryMonitor, ILibraryMonitor libraryMonitor,
IProviderManager providerManager, IProviderManager providerManager,
IMediaEncoder mediaEncoder, IMediaEncoder mediaEncoder)
IProcessFactory processFactory)
{ {
Current = this; Current = this;
@ -103,7 +100,6 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
_libraryMonitor = libraryMonitor; _libraryMonitor = libraryMonitor;
_providerManager = providerManager; _providerManager = providerManager;
_mediaEncoder = mediaEncoder; _mediaEncoder = mediaEncoder;
_processFactory = processFactory;
_liveTvManager = (LiveTvManager)liveTvManager; _liveTvManager = (LiveTvManager)liveTvManager;
_jsonSerializer = jsonSerializer; _jsonSerializer = jsonSerializer;
_mediaSourceManager = mediaSourceManager; _mediaSourceManager = mediaSourceManager;
@ -1663,7 +1659,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
{ {
if (mediaSource.RequiresLooping || !(mediaSource.Container ?? string.Empty).EndsWith("ts", StringComparison.OrdinalIgnoreCase) || (mediaSource.Protocol != MediaProtocol.File && mediaSource.Protocol != MediaProtocol.Http)) if (mediaSource.RequiresLooping || !(mediaSource.Container ?? string.Empty).EndsWith("ts", StringComparison.OrdinalIgnoreCase) || (mediaSource.Protocol != MediaProtocol.File && mediaSource.Protocol != MediaProtocol.Http))
{ {
return new EncodedRecorder(_logger, _mediaEncoder, _config.ApplicationPaths, _jsonSerializer, _processFactory, _config); return new EncodedRecorder(_logger, _mediaEncoder, _config.ApplicationPaths, _jsonSerializer, _config);
} }
return new DirectRecorder(_logger, _httpClient, _streamHelper); return new DirectRecorder(_logger, _httpClient, _streamHelper);
@ -1684,7 +1680,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
try try
{ {
var process = _processFactory.Create(new ProcessStartInfo var processStartInfo = new ProcessStartInfo
{ {
Arguments = GetPostProcessArguments(path, options.RecordingPostProcessorArguments), Arguments = GetPostProcessArguments(path, options.RecordingPostProcessorArguments),
CreateNoWindow = true, CreateNoWindow = true,
@ -1692,11 +1688,11 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
FileName = options.RecordingPostProcessor, FileName = options.RecordingPostProcessor,
WindowStyle = ProcessWindowStyle.Hidden, WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = false UseShellExecute = false
}); };
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
_logger.LogInformation("Running recording post processor {0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); _logger.LogInformation("Running recording post processor {0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments);
process.EnableRaisingEvents = true;
process.Exited += Process_Exited; process.Exited += Process_Exited;
process.Start(); process.Start();
} }

View File

@ -15,7 +15,6 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Model.Configuration; using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.Diagnostics;
using MediaBrowser.Model.Dto; using MediaBrowser.Model.Dto;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
using MediaBrowser.Model.Serialization; using MediaBrowser.Model.Serialization;
@ -32,7 +31,6 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
private Stream _logFileStream; private Stream _logFileStream;
private string _targetPath; private string _targetPath;
private Process _process; private Process _process;
private readonly IProcessFactory _processFactory;
private readonly IJsonSerializer _json; private readonly IJsonSerializer _json;
private readonly TaskCompletionSource<bool> _taskCompletionSource = new TaskCompletionSource<bool>(); private readonly TaskCompletionSource<bool> _taskCompletionSource = new TaskCompletionSource<bool>();
private readonly IServerConfigurationManager _config; private readonly IServerConfigurationManager _config;
@ -42,14 +40,12 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
IMediaEncoder mediaEncoder, IMediaEncoder mediaEncoder,
IServerApplicationPaths appPaths, IServerApplicationPaths appPaths,
IJsonSerializer json, IJsonSerializer json,
IProcessFactory processFactory,
IServerConfigurationManager config) IServerConfigurationManager config)
{ {
_logger = logger; _logger = logger;
_mediaEncoder = mediaEncoder; _mediaEncoder = mediaEncoder;
_appPaths = appPaths; _appPaths = appPaths;
_json = json; _json = json;
_processFactory = processFactory;
_config = config; _config = config;
} }
@ -81,7 +77,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
_targetPath = targetFile; _targetPath = targetFile;
Directory.CreateDirectory(Path.GetDirectoryName(targetFile)); Directory.CreateDirectory(Path.GetDirectoryName(targetFile));
_process = _processFactory.Create(new ProcessStartInfo var processStartInfo = new ProcessStartInfo
{ {
CreateNoWindow = true, CreateNoWindow = true,
UseShellExecute = false, UseShellExecute = false,
@ -94,7 +90,8 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
WindowStyle = ProcessWindowStyle.Hidden, WindowStyle = ProcessWindowStyle.Hidden,
ErrorDialog = false ErrorDialog = false
}); };
_process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
var commandLineLogMessage = _process.StartInfo.FileName + " " + _process.StartInfo.Arguments; var commandLineLogMessage = _process.StartInfo.FileName + " " + _process.StartInfo.Arguments;
_logger.LogInformation(commandLineLogMessage); _logger.LogInformation(commandLineLogMessage);
@ -108,7 +105,6 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
var commandLineLogMessageBytes = Encoding.UTF8.GetBytes(_json.SerializeToString(mediaSource) + Environment.NewLine + Environment.NewLine + commandLineLogMessage + Environment.NewLine + Environment.NewLine); var commandLineLogMessageBytes = Encoding.UTF8.GetBytes(_json.SerializeToString(mediaSource) + Environment.NewLine + Environment.NewLine + commandLineLogMessage + Environment.NewLine + Environment.NewLine);
_logFileStream.Write(commandLineLogMessageBytes, 0, commandLineLogMessageBytes.Length); _logFileStream.Write(commandLineLogMessageBytes, 0, commandLineLogMessageBytes.Length);
_process.EnableRaisingEvents = true;
_process.Exited += (sender, args) => OnFfMpegProcessExited(_process, inputFile); _process.Exited += (sender, args) => OnFfMpegProcessExited(_process, inputFile);
_process.Start(); _process.Start();
@ -297,24 +293,24 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
_hasExited = true; _hasExited = true;
_logFileStream?.Dispose(); _logFileStream?.Dispose();
_logFileStream = null; _logFileStream = null;
var exitCode = process.ExitCode; var exitCode = process.ExitCode;
_logger.LogInformation("FFMpeg recording exited with code {ExitCode} for {Path}", exitCode, _targetPath); _logger.LogInformation("FFMpeg recording exited with code {ExitCode} for {Path}", exitCode, _targetPath);
if (exitCode == 0) if (exitCode == 0)
{ {
_taskCompletionSource.TrySetResult(true); _taskCompletionSource.TrySetResult(true);
} }
else else
{ {
_taskCompletionSource.TrySetException( _taskCompletionSource.TrySetException(
new Exception( new Exception(
string.Format( string.Format(
CultureInfo.InvariantCulture, CultureInfo.InvariantCulture,
"Recording for {0} failed. Exit code {1}", "Recording for {0} failed. Exit code {1}",
_targetPath, _targetPath,
exitCode))); exitCode)));
} }
} }

View File

@ -22,7 +22,6 @@ using MediaBrowser.Model.System;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using System.Diagnostics; using System.Diagnostics;
using MediaBrowser.Model.Diagnostics;
namespace MediaBrowser.MediaEncoding.Encoder namespace MediaBrowser.MediaEncoding.Encoder
{ {
@ -39,7 +38,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
private readonly ILogger _logger; private readonly ILogger _logger;
private readonly IServerConfigurationManager _configurationManager; private readonly IServerConfigurationManager _configurationManager;
private readonly IFileSystem _fileSystem; private readonly IFileSystem _fileSystem;
private readonly IProcessFactory _processFactory;
private readonly ILocalizationManager _localization; private readonly ILocalizationManager _localization;
private readonly Func<ISubtitleEncoder> _subtitleEncoder; private readonly Func<ISubtitleEncoder> _subtitleEncoder;
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
@ -59,7 +57,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
ILogger<MediaEncoder> logger, ILogger<MediaEncoder> logger,
IServerConfigurationManager configurationManager, IServerConfigurationManager configurationManager,
IFileSystem fileSystem, IFileSystem fileSystem,
IProcessFactory processFactory,
ILocalizationManager localization, ILocalizationManager localization,
Func<ISubtitleEncoder> subtitleEncoder, Func<ISubtitleEncoder> subtitleEncoder,
IConfiguration configuration, IConfiguration configuration,
@ -68,7 +65,6 @@ namespace MediaBrowser.MediaEncoding.Encoder
_logger = logger; _logger = logger;
_configurationManager = configurationManager; _configurationManager = configurationManager;
_fileSystem = fileSystem; _fileSystem = fileSystem;
_processFactory = processFactory;
_localization = localization; _localization = localization;
_startupOptionFFmpegPath = startupOptionsFFmpegPath; _startupOptionFFmpegPath = startupOptionsFFmpegPath;
_subtitleEncoder = subtitleEncoder; _subtitleEncoder = subtitleEncoder;
@ -363,7 +359,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
: "{0} -i {1} -threads 0 -v warning -print_format json -show_streams -show_format"; : "{0} -i {1} -threads 0 -v warning -print_format json -show_streams -show_format";
args = string.Format(args, probeSizeArgument, inputPath).Trim(); args = string.Format(args, probeSizeArgument, inputPath).Trim();
var process = _processFactory.Create(new ProcessStartInfo var processStartInfo = new ProcessStartInfo
{ {
CreateNoWindow = true, CreateNoWindow = true,
UseShellExecute = false, UseShellExecute = false,
@ -377,8 +373,8 @@ namespace MediaBrowser.MediaEncoding.Encoder
WindowStyle = ProcessWindowStyle.Hidden, WindowStyle = ProcessWindowStyle.Hidden,
ErrorDialog = false, ErrorDialog = false,
}); };
process.EnableRaisingEvents = true; var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
if (forceEnableLogging) if (forceEnableLogging)
{ {
@ -572,7 +568,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
} }
} }
var process = _processFactory.Create(new ProcessStartInfo var processStartInfo = new ProcessStartInfo
{ {
CreateNoWindow = true, CreateNoWindow = true,
UseShellExecute = false, UseShellExecute = false,
@ -580,8 +576,8 @@ namespace MediaBrowser.MediaEncoding.Encoder
Arguments = args, Arguments = args,
WindowStyle = ProcessWindowStyle.Hidden, WindowStyle = ProcessWindowStyle.Hidden,
ErrorDialog = false, ErrorDialog = false,
}); };
process.EnableRaisingEvents = true; var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
_logger.LogDebug("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); _logger.LogDebug("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments);
@ -701,7 +697,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
} }
} }
var process = _processFactory.Create(new ProcessStartInfo var processStartInfo = new ProcessStartInfo
{ {
CreateNoWindow = true, CreateNoWindow = true,
UseShellExecute = false, UseShellExecute = false,
@ -709,8 +705,8 @@ namespace MediaBrowser.MediaEncoding.Encoder
Arguments = args, Arguments = args,
WindowStyle = ProcessWindowStyle.Hidden, WindowStyle = ProcessWindowStyle.Hidden,
ErrorDialog = false ErrorDialog = false
}); };
process.EnableRaisingEvents = true; var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
_logger.LogInformation(process.StartInfo.FileName + " " + process.StartInfo.Arguments); _logger.LogInformation(process.StartInfo.FileName + " " + process.StartInfo.Arguments);

View File

@ -13,7 +13,6 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.MediaEncoding; using MediaBrowser.Controller.MediaEncoding;
using MediaBrowser.Model.Diagnostics;
using MediaBrowser.Model.Dto; using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO; using MediaBrowser.Model.IO;
@ -32,7 +31,6 @@ namespace MediaBrowser.MediaEncoding.Subtitles
private readonly IMediaEncoder _mediaEncoder; private readonly IMediaEncoder _mediaEncoder;
private readonly IHttpClient _httpClient; private readonly IHttpClient _httpClient;
private readonly IMediaSourceManager _mediaSourceManager; private readonly IMediaSourceManager _mediaSourceManager;
private readonly IProcessFactory _processFactory;
public SubtitleEncoder( public SubtitleEncoder(
ILibraryManager libraryManager, ILibraryManager libraryManager,
@ -41,8 +39,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
IFileSystem fileSystem, IFileSystem fileSystem,
IMediaEncoder mediaEncoder, IMediaEncoder mediaEncoder,
IHttpClient httpClient, IHttpClient httpClient,
IMediaSourceManager mediaSourceManager, IMediaSourceManager mediaSourceManager)
IProcessFactory processFactory)
{ {
_libraryManager = libraryManager; _libraryManager = libraryManager;
_logger = logger; _logger = logger;
@ -51,7 +48,6 @@ namespace MediaBrowser.MediaEncoding.Subtitles
_mediaEncoder = mediaEncoder; _mediaEncoder = mediaEncoder;
_httpClient = httpClient; _httpClient = httpClient;
_mediaSourceManager = mediaSourceManager; _mediaSourceManager = mediaSourceManager;
_processFactory = processFactory;
} }
private string SubtitleCachePath => Path.Combine(_appPaths.DataPath, "subtitles"); private string SubtitleCachePath => Path.Combine(_appPaths.DataPath, "subtitles");
@ -430,7 +426,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
encodingParam = " -sub_charenc " + encodingParam; encodingParam = " -sub_charenc " + encodingParam;
} }
var process = _processFactory.Create(new ProcessStartInfo var processStartInfo = new ProcessStartInfo
{ {
CreateNoWindow = true, CreateNoWindow = true,
UseShellExecute = false, UseShellExecute = false,
@ -438,7 +434,8 @@ namespace MediaBrowser.MediaEncoding.Subtitles
Arguments = string.Format("{0} -i \"{1}\" -c:s srt \"{2}\"", encodingParam, inputPath, outputPath), Arguments = string.Format("{0} -i \"{1}\" -c:s srt \"{2}\"", encodingParam, inputPath, outputPath),
WindowStyle = ProcessWindowStyle.Hidden, WindowStyle = ProcessWindowStyle.Hidden,
ErrorDialog = false ErrorDialog = false
}); };
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
_logger.LogInformation("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); _logger.LogInformation("{0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments);
@ -453,7 +450,6 @@ namespace MediaBrowser.MediaEncoding.Subtitles
throw; throw;
} }
process.EnableRaisingEvents = true;
var ranToCompletion = await process.WaitForExitAsync(300000).ConfigureAwait(false); var ranToCompletion = await process.WaitForExitAsync(300000).ConfigureAwait(false);
if (!ranToCompletion) if (!ranToCompletion)
@ -579,7 +575,7 @@ namespace MediaBrowser.MediaEncoding.Subtitles
outputCodec, outputCodec,
outputPath); outputPath);
var process = _processFactory.Create(new ProcessStartInfo var processStartInfo = new ProcessStartInfo
{ {
CreateNoWindow = true, CreateNoWindow = true,
UseShellExecute = false, UseShellExecute = false,
@ -587,7 +583,8 @@ namespace MediaBrowser.MediaEncoding.Subtitles
Arguments = processArgs, Arguments = processArgs,
WindowStyle = ProcessWindowStyle.Hidden, WindowStyle = ProcessWindowStyle.Hidden,
ErrorDialog = false ErrorDialog = false
}); };
var process = new Process { StartInfo = processStartInfo, EnableRaisingEvents = true };
_logger.LogInformation("{File} {Arguments}", process.StartInfo.FileName, process.StartInfo.Arguments); _logger.LogInformation("{File} {Arguments}", process.StartInfo.FileName, process.StartInfo.Arguments);
@ -602,7 +599,6 @@ namespace MediaBrowser.MediaEncoding.Subtitles
throw; throw;
} }
process.EnableRaisingEvents = true;
var ranToCompletion = await process.WaitForExitAsync(300000).ConfigureAwait(false); var ranToCompletion = await process.WaitForExitAsync(300000).ConfigureAwait(false);
if (!ranToCompletion) if (!ranToCompletion)

View File

@ -1,11 +0,0 @@
#pragma warning disable CS1591
using System.Diagnostics;
namespace MediaBrowser.Model.Diagnostics
{
public interface IProcessFactory
{
Process Create(ProcessStartInfo options);
}
}