aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/MediaEncoding/JobLogger.cs
diff options
context:
space:
mode:
authorJoshua M. Boniface <joshua@boniface.me>2019-03-18 23:59:12 -0400
committerGitHub <noreply@github.com>2019-03-18 23:59:12 -0400
commitc7e7aa0a6166f0909964c9a321c79422575a7d64 (patch)
tree6718ba28640b32b7198fbca31fc7a9bb510b0df4 /MediaBrowser.Controller/MediaEncoding/JobLogger.cs
parentfc796595494c71938946967b9e00f3db25c8a9af (diff)
parenta8140cc74b2d34ea09f2321a904936b510153976 (diff)
Merge pull request #1117 from Bond-009/ffmpeg
Check before flushing ffmpeg log
Diffstat (limited to 'MediaBrowser.Controller/MediaEncoding/JobLogger.cs')
-rw-r--r--MediaBrowser.Controller/MediaEncoding/JobLogger.cs11
1 files changed, 9 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/MediaEncoding/JobLogger.cs b/MediaBrowser.Controller/MediaEncoding/JobLogger.cs
index 46593fb2f..2755bf581 100644
--- a/MediaBrowser.Controller/MediaEncoding/JobLogger.cs
+++ b/MediaBrowser.Controller/MediaEncoding/JobLogger.cs
@@ -10,7 +10,7 @@ namespace MediaBrowser.Controller.MediaEncoding
{
public class JobLogger
{
- private readonly CultureInfo _usCulture = new CultureInfo("en-US");
+ private static readonly CultureInfo _usCulture = CultureInfo.ReadOnly(new CultureInfo("en-US"));
private readonly ILogger _logger;
public JobLogger(ILogger logger)
@@ -24,7 +24,7 @@ namespace MediaBrowser.Controller.MediaEncoding
{
using (var reader = new StreamReader(source))
{
- while (!reader.EndOfStream)
+ while (!reader.EndOfStream && reader.BaseStream.CanRead)
{
var line = await reader.ReadLineAsync().ConfigureAwait(false);
@@ -39,6 +39,13 @@ namespace MediaBrowser.Controller.MediaEncoding
}
await target.WriteAsync(bytes, 0, bytes.Length).ConfigureAwait(false);
+
+ // Check again, the stream could have been closed
+ if (!target.CanWrite)
+ {
+ break;
+ }
+
await target.FlushAsync().ConfigureAwait(false);
}
}