aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-11-29 14:47:45 -0500
committerGitHub <noreply@github.com>2016-11-29 14:47:45 -0500
commit8c2095b24ee3228c0e112ebc3cfcb73e146d2a78 (patch)
tree6a83c8132f9eac18c0a0bc2461e191c5c725c3c1 /MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
parent1d09262963fb1d09f3a04843922a6a7a2f4364b3 (diff)
parent456d5e5b760abe46c8dedf08b2465d2bd3ced4af (diff)
Merge pull request #2317 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs')
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs59
1 files changed, 58 insertions, 1 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
index 719083e73..a8ab1a4c0 100644
--- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
@@ -24,6 +24,7 @@ using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;
using MediaBrowser.Model.Diagnostics;
+using MediaBrowser.Model.System;
namespace MediaBrowser.MediaEncoding.Encoder
{
@@ -88,9 +89,11 @@ namespace MediaBrowser.MediaEncoding.Encoder
private readonly int DefaultImageExtractionTimeoutMs;
private readonly bool EnableEncoderFontFile;
+ private readonly IEnvironmentInfo _environmentInfo;
+
public MediaEncoder(ILogger logger, IJsonSerializer jsonSerializer, string ffMpegPath, string ffProbePath, bool hasExternalEncoder, IServerConfigurationManager configurationManager, IFileSystem fileSystem, ILiveTvManager liveTvManager, IIsoManager isoManager, ILibraryManager libraryManager, IChannelManager channelManager, ISessionManager sessionManager, Func<ISubtitleEncoder> subtitleEncoder, Func<IMediaSourceManager> mediaSourceManager, IHttpClient httpClient, IZipClient zipClient, IMemoryStreamFactory memoryStreamProvider, IProcessFactory processFactory,
int defaultImageExtractionTimeoutMs,
- bool enableEncoderFontFile)
+ bool enableEncoderFontFile, IEnvironmentInfo environmentInfo)
{
_logger = logger;
_jsonSerializer = jsonSerializer;
@@ -109,12 +112,66 @@ namespace MediaBrowser.MediaEncoding.Encoder
_processFactory = processFactory;
DefaultImageExtractionTimeoutMs = defaultImageExtractionTimeoutMs;
EnableEncoderFontFile = enableEncoderFontFile;
+ _environmentInfo = environmentInfo;
FFProbePath = ffProbePath;
FFMpegPath = ffMpegPath;
_originalFFProbePath = ffProbePath;
_originalFFMpegPath = ffMpegPath;
_hasExternalEncoder = hasExternalEncoder;
+
+ SetEnvironmentVariable();
+ }
+
+ private readonly object _logLock = new object();
+ public void SetLogFilename(string name)
+ {
+ lock (_logLock)
+ {
+ try
+ {
+ _environmentInfo.SetProcessEnvironmentVariable("FFREPORT", "file=" + name + ":level=32");
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error setting FFREPORT environment variable", ex);
+ }
+ }
+ }
+
+ public void ClearLogFilename()
+ {
+ lock (_logLock)
+ {
+ try
+ {
+ _environmentInfo.SetProcessEnvironmentVariable("FFREPORT", null);
+ }
+ catch (Exception ex)
+ {
+ //_logger.ErrorException("Error setting FFREPORT environment variable", ex);
+ }
+ }
+ }
+
+ private void SetEnvironmentVariable()
+ {
+ try
+ {
+ //_environmentInfo.SetProcessEnvironmentVariable("FFREPORT", "file=program-YYYYMMDD-HHMMSS.txt:level=32");
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error setting FFREPORT environment variable", ex);
+ }
+ try
+ {
+ //_environmentInfo.SetUserEnvironmentVariable("FFREPORT", "file=program-YYYYMMDD-HHMMSS.txt:level=32");
+ }
+ catch (Exception ex)
+ {
+ _logger.ErrorException("Error setting FFREPORT environment variable", ex);
+ }
}
public string EncoderLocationType