瀏覽代碼

adjust segment length for safari

Luke Pulverenti 9 年之前
父節點
當前提交
771db85d09
共有 2 個文件被更改,包括 9 次插入1 次删除
  1. 7 0
      MediaBrowser.Api/Playback/BaseStreamingService.cs
  2. 2 1
      MediaBrowser.Api/Playback/Hls/BaseHlsService.cs

+ 7 - 0
MediaBrowser.Api/Playback/BaseStreamingService.cs

@@ -1562,6 +1562,13 @@ namespace MediaBrowser.Api.Playback
                 RequestedUrl = url
             };
 
+            if ((Request.UserAgent ?? string.Empty).IndexOf("iphone", StringComparison.OrdinalIgnoreCase) != -1 ||
+                (Request.UserAgent ?? string.Empty).IndexOf("ipad", StringComparison.OrdinalIgnoreCase) != -1 ||
+                (Request.UserAgent ?? string.Empty).IndexOf("ipod", StringComparison.OrdinalIgnoreCase) != -1)
+            {
+                state.SegmentLength = 6;
+            }
+
             if (!string.IsNullOrWhiteSpace(request.AudioCodec))
             {
                 state.SupportedAudioCodecs = request.AudioCodec.Split(',').Where(i => !string.IsNullOrWhiteSpace(i)).ToList();

+ 2 - 1
MediaBrowser.Api/Playback/Hls/BaseHlsService.cs

@@ -111,7 +111,8 @@ namespace MediaBrowser.Api.Playback.Hls
                             throw;
                         }
 
-                        await WaitForMinimumSegmentCount(playlist, 3, cancellationTokenSource.Token).ConfigureAwait(false);
+                        var waitForSegments = state.SegmentLength >= 10 ? 2 : 3;
+                        await WaitForMinimumSegmentCount(playlist, waitForSegments, cancellationTokenSource.Token).ConfigureAwait(false);
                     }
                 }
                 finally