From 1de6b4607f82b2a3e18d8f1f4efa9248f7b0c98b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 19 Jun 2017 14:14:15 -0400 Subject: [PATCH] increase live stream analyze duration --- .../LiveTv/LiveStreamHelper.cs | 7 ++++--- .../Net/HttpListenerResponse.Managed.cs | 13 ++++++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs b/Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs index 12da1464bc..75f4231816 100644 --- a/Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs +++ b/Emby.Server.Implementations/LiveTv/LiveStreamHelper.cs @@ -16,7 +16,8 @@ namespace Emby.Server.Implementations.LiveTv private readonly IMediaEncoder _mediaEncoder; private readonly ILogger _logger; - const int AnalyzeDurationMs = 1000; + const int ProbeAnalyzeDurationMs = 2000; + const int PlaybackAnalyzeDurationMs = 1000; public LiveStreamHelper(IMediaEncoder mediaEncoder, ILogger logger) { @@ -36,7 +37,7 @@ namespace Emby.Server.Implementations.LiveTv Protocol = mediaSource.Protocol, MediaType = isAudio ? DlnaProfileType.Audio : DlnaProfileType.Video, ExtractChapters = false, - AnalyzeDurationMs = AnalyzeDurationMs + AnalyzeDurationMs = ProbeAnalyzeDurationMs }, cancellationToken).ConfigureAwait(false); @@ -106,7 +107,7 @@ namespace Emby.Server.Implementations.LiveTv // Try to estimate this mediaSource.InferTotalBitrate(true); - mediaSource.AnalyzeDurationMs = AnalyzeDurationMs; + mediaSource.AnalyzeDurationMs = PlaybackAnalyzeDurationMs; } } } diff --git a/SocketHttpListener/Net/HttpListenerResponse.Managed.cs b/SocketHttpListener/Net/HttpListenerResponse.Managed.cs index 9adf0d435d..83fcc09cae 100644 --- a/SocketHttpListener/Net/HttpListenerResponse.Managed.cs +++ b/SocketHttpListener/Net/HttpListenerResponse.Managed.cs @@ -130,11 +130,18 @@ namespace SocketHttpListener.Net var thisRef = (HttpListenerResponse)iar.AsyncState; try { - thisRef.OutputStream.EndWrite(iar); + try + { + thisRef.OutputStream.EndWrite(iar); + } + finally + { + thisRef.Close(false); + } } - finally + catch (Exception) { - thisRef.Close(false); + // In case response was disposed during this time } }, this); }