Bläddra i källkod

increase live stream analyze duration

Luke Pulverenti 8 år sedan
förälder
incheckning
1de6b4607f

+ 4 - 3
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;
         }
     }
 }

+ 10 - 3
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);
             }