diff options
| author | Tavares André <tavares_and@hotmail.com> | 2015-07-16 20:19:12 +0200 |
|---|---|---|
| committer | Tavares André <tavares_and@hotmail.com> | 2015-07-16 20:19:12 +0200 |
| commit | 8fd5a8af8d8b6d371a0a2c44d0c7c6809410125c (patch) | |
| tree | c23e4a4afc33c35318eb2a26f51b28d3a6bb35da /MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs | |
| parent | 0fa55fd6de42b683bcdcc0c632f4db1436bca36d (diff) | |
| parent | f1ad56a7deaef79f6dcb2b871de727b8e4af3371 (diff) | |
Merge branch 'dev' of https://github.com/MediaBrowser/MediaBrowser into dev
Diffstat (limited to 'MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs')
| -rw-r--r-- | MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs index ab57e561f..0a432a580 100644 --- a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs @@ -313,16 +313,17 @@ namespace MediaBrowser.Api.Playback.Hls { var segmentPath = GetSegmentPath(state, playlist, i); - double length; - if (SegmentLengths.TryGetValue(Path.GetFileName(segmentPath), out length)) - { - Logger.Debug("Found segment length of {0} for index {1}", length, i); - startSeconds += length; - } - else - { - startSeconds += state.SegmentLength; - } + //double length; + //if (SegmentLengths.TryGetValue(Path.GetFileName(segmentPath), out length)) + //{ + // Logger.Debug("Found segment length of {0} for index {1}", length, i); + // startSeconds += length; + //} + //else + //{ + // startSeconds += state.SegmentLength; + //} + startSeconds += state.SegmentLength; } var position = TimeSpan.FromSeconds(startSeconds).Ticks; @@ -441,7 +442,7 @@ namespace MediaBrowser.Api.Playback.Hls CancellationToken cancellationToken) { // If all transcoding has completed, just return immediately - if (transcodingJob != null && transcodingJob.HasExited) + if (transcodingJob != null && transcodingJob.HasExited && File.Exists(segmentPath)) { return GetSegmentResult(segmentPath, segmentIndex, segmentLength, transcodingJob); } @@ -463,7 +464,11 @@ namespace MediaBrowser.Api.Playback.Hls // If it appears in the playlist, it's done if (text.IndexOf(segmentFilename, StringComparison.OrdinalIgnoreCase) != -1) { - return GetSegmentResult(segmentPath, segmentIndex, segmentLength, transcodingJob); + if (File.Exists(segmentPath)) + { + return GetSegmentResult(segmentPath, segmentIndex, segmentLength, transcodingJob); + } + break; } } } @@ -564,11 +569,11 @@ namespace MediaBrowser.Api.Playback.Hls builder.AppendLine("#EXTM3U"); + var isLiveStream = (state.RunTimeTicks ?? 0) == 0; + var queryStringIndex = Request.RawUrl.IndexOf('?'); var queryString = queryStringIndex == -1 ? string.Empty : Request.RawUrl.Substring(queryStringIndex); - var isLiveStream = (state.RunTimeTicks ?? 0) == 0; - // Main stream var playlistUrl = isLiveStream ? "live.m3u8" : "main.m3u8"; playlistUrl += queryString; @@ -798,7 +803,7 @@ namespace MediaBrowser.Api.Playback.Hls var audioTranscodeParams = new List<string>(); audioTranscodeParams.Add("-acodec " + codec); - + if (state.OutputAudioBitrate.HasValue) { audioTranscodeParams.Add("-ab " + state.OutputAudioBitrate.Value.ToString(UsCulture)); |
