Переглянути джерело

Merge pull request #646 from Tthecreator/master

Fix infinite loop bug on subtitle.m3u8 request
Andrew Rabert 6 роки тому
батько
коміт
920c39454c
2 змінених файлів з 9 додано та 3 видалено
  1. 1 0
      CONTRIBUTORS.md
  2. 8 3
      MediaBrowser.Api/Subtitles/SubtitleService.cs

+ 1 - 0
CONTRIBUTORS.md

@@ -11,6 +11,7 @@
  - [AnthonyLavado](https://github.com/anthonylavado)
  - [sparky8251](https://github.com/sparky8251)
  - [LeoVerto](https://github.com/LeoVerto)
+ - [TtheCreator](https://github.com/Tthecreator)
 
 # Emby Contributors
 

+ 8 - 3
MediaBrowser.Api/Subtitles/SubtitleService.cs

@@ -1,4 +1,4 @@
-using MediaBrowser.Controller.Entities;
+using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.Library;
 using MediaBrowser.Controller.MediaEncoding;
 using MediaBrowser.Controller.Net;
@@ -156,14 +156,19 @@ namespace MediaBrowser.Api.Subtitles
                 throw new ArgumentException("HLS Subtitles are not supported for this media.");
             }
 
+            var segmentLengthTicks = TimeSpan.FromSeconds(request.SegmentLength).Ticks;
+            if (segmentLengthTicks <= 0)
+            {
+                throw new ArgumentException("segmentLength was not given, or it was given incorrectly. (It should be bigger than 0)");
+            }
+
             builder.AppendLine("#EXTM3U");
             builder.AppendLine("#EXT-X-TARGETDURATION:" + request.SegmentLength.ToString(CultureInfo.InvariantCulture));
             builder.AppendLine("#EXT-X-VERSION:3");
             builder.AppendLine("#EXT-X-MEDIA-SEQUENCE:0");
             builder.AppendLine("#EXT-X-PLAYLIST-TYPE:VOD");
 
-            long positionTicks = 0;
-            var segmentLengthTicks = TimeSpan.FromSeconds(request.SegmentLength).Ticks;
+            long positionTicks = 0; 
 
             var accessToken = _authContext.GetAuthorizationInfo(Request).Token;