aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs
diff options
context:
space:
mode:
authorTavares André <tavares_and@hotmail.com>2015-07-16 20:19:12 +0200
committerTavares André <tavares_and@hotmail.com>2015-07-16 20:19:12 +0200
commit8fd5a8af8d8b6d371a0a2c44d0c7c6809410125c (patch)
treec23e4a4afc33c35318eb2a26f51b28d3a6bb35da /MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs
parent0fa55fd6de42b683bcdcc0c632f4db1436bca36d (diff)
parentf1ad56a7deaef79f6dcb2b871de727b8e4af3371 (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.cs35
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));