From b578877ac486a6e9c5e4e57bb7d037ff967514a9 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 7 Jan 2017 03:09:24 -0500 Subject: [PATCH] update hls params --- MediaBrowser.Api/Playback/Hls/BaseHlsService.cs | 7 ------- .../Playback/Hls/DynamicHlsService.cs | 2 +- MediaBrowser.Api/Playback/StreamState.cs | 16 +++++++++++++--- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs index 4c9d6b69da..97072115dc 100644 --- a/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/BaseHlsService.cs @@ -309,13 +309,6 @@ namespace MediaBrowser.Api.Playback.Hls return 0; } - protected bool IsLiveStream(StreamState state) - { - var isLiveStream = (state.RunTimeTicks ?? 0) == 0; - - return isLiveStream; - } - public BaseHlsService(IServerConfigurationManager serverConfig, IUserManager userManager, ILibraryManager libraryManager, IIsoManager isoManager, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IDlnaManager dlnaManager, ISubtitleEncoder subtitleEncoder, IDeviceManager deviceManager, IMediaSourceManager mediaSourceManager, IZipClient zipClient, IJsonSerializer jsonSerializer, IAuthorizationContext authorizationContext) : base(serverConfig, userManager, libraryManager, isoManager, mediaEncoder, fileSystem, dlnaManager, subtitleEncoder, deviceManager, mediaSourceManager, zipClient, jsonSerializer, authorizationContext) { } diff --git a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs index cd8d05996b..e922094ada 100644 --- a/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs +++ b/MediaBrowser.Api/Playback/Hls/DynamicHlsService.cs @@ -521,7 +521,7 @@ namespace MediaBrowser.Api.Playback.Hls builder.AppendLine("#EXTM3U"); - var isLiveStream = IsLiveStream(state); + var isLiveStream = state.IsSegmentedLiveStream; var queryStringIndex = Request.RawUrl.IndexOf('?'); var queryString = queryStringIndex == -1 ? string.Empty : Request.RawUrl.Substring(queryStringIndex); diff --git a/MediaBrowser.Api/Playback/StreamState.cs b/MediaBrowser.Api/Playback/StreamState.cs index e9e3c33c0e..ab0bfd502b 100644 --- a/MediaBrowser.Api/Playback/StreamState.cs +++ b/MediaBrowser.Api/Playback/StreamState.cs @@ -89,17 +89,25 @@ namespace MediaBrowser.Api.Playback return 10; } - if (!RunTimeTicks.HasValue) + if (IsSegmentedLiveStream) { return 3; } - return 3; + return 6; } return 3; } } + public bool IsSegmentedLiveStream + { + get + { + return TranscodingType != TranscodingJobType.Progressive && !RunTimeTicks.HasValue; + } + } + public int HlsListSize { get @@ -119,8 +127,9 @@ namespace MediaBrowser.Api.Playback public List SupportedAudioCodecs { get; set; } public List SupportedVideoCodecs { get; set; } public string UserAgent { get; set; } + public TranscodingJobType TranscodingType { get; set; } - public StreamState(IMediaSourceManager mediaSourceManager, ILogger logger) + public StreamState(IMediaSourceManager mediaSourceManager, ILogger logger, TranscodingJobType transcodingType) { _mediaSourceManager = mediaSourceManager; _logger = logger; @@ -128,6 +137,7 @@ namespace MediaBrowser.Api.Playback SupportedVideoCodecs = new List(); PlayableStreamFileNames = new List(); RemoteHttpHeaders = new Dictionary(StringComparer.OrdinalIgnoreCase); + TranscodingType = transcodingType; } public string InputAudioSync { get; set; }