Browse Source

add ForceLiveStream option

Luke Pulverenti 9 years ago
parent
commit
c40002dee0

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

@@ -2048,6 +2048,7 @@ namespace MediaBrowser.Api.Playback
                     if (state.VideoRequest != null)
                     {
                         state.VideoRequest.CopyTimestamps = transcodingProfile.CopyTimestamps;
+                        state.VideoRequest.ForceLiveStream = transcodingProfile.ForceLiveStream;
                     }
                 }
             }

+ 1 - 0
MediaBrowser.Model/Dlna/StreamBuilder.cs

@@ -443,6 +443,7 @@ namespace MediaBrowser.Model.Dlna
 
                 playlistItem.VideoCodec = transcodingProfile.VideoCodec;
                 playlistItem.CopyTimestamps = transcodingProfile.CopyTimestamps;
+                playlistItem.ForceLiveStream = transcodingProfile.ForceLiveStream;
                 playlistItem.SubProtocol = transcodingProfile.Protocol;
                 playlistItem.AudioStreamIndex = audioStreamIndex;
 

+ 3 - 1
MediaBrowser.Model/Dlna/StreamInfo.cs

@@ -31,6 +31,7 @@ namespace MediaBrowser.Model.Dlna
         public string VideoProfile { get; set; }
 
         public bool CopyTimestamps { get; set; }
+        public bool ForceLiveStream { get; set; }
         public string AudioCodec { get; set; }
 
         public int? AudioStreamIndex { get; set; }
@@ -204,7 +205,7 @@ namespace MediaBrowser.Model.Dlna
             list.Add(new NameValuePair("MaxWidth", item.MaxWidth.HasValue ? StringHelper.ToStringCultureInvariant(item.MaxWidth.Value) : string.Empty));
             list.Add(new NameValuePair("MaxHeight", item.MaxHeight.HasValue ? StringHelper.ToStringCultureInvariant(item.MaxHeight.Value) : string.Empty));
 
-            if (StringHelper.EqualsIgnoreCase(item.SubProtocol, "hls"))
+            if (StringHelper.EqualsIgnoreCase(item.SubProtocol, "hls") && !item.ForceLiveStream)
             {
                 list.Add(new NameValuePair("StartTimeTicks", string.Empty));
             }
@@ -234,6 +235,7 @@ namespace MediaBrowser.Model.Dlna
             }
 
             list.Add(new NameValuePair("CopyTimestamps", item.CopyTimestamps.ToString().ToLower()));
+            list.Add(new NameValuePair("ForceLiveStream", item.ForceLiveStream.ToString().ToLower()));
             list.Add(new NameValuePair("SubtitleMethod", item.SubtitleStreamIndex.HasValue && item.SubtitleDeliveryMethod != SubtitleDeliveryMethod.External ? item.SubtitleDeliveryMethod.ToString() : string.Empty));
        
             return list;

+ 3 - 0
MediaBrowser.Model/Dlna/TranscodingProfile.cs

@@ -35,6 +35,9 @@ namespace MediaBrowser.Model.Dlna
         [XmlAttribute("context")]
         public EncodingContext Context { get; set; }
 
+        [XmlAttribute("forceLiveStream")]
+        public bool ForceLiveStream { get; set; }
+
         public List<string> GetAudioCodecs()
         {
             List<string> list = new List<string>();