浏览代码

- enable seek function when direct streaming over DLNA

Marius Luca 3 年之前
父节点
当前提交
5b5ae1ef52
共有 1 个文件被更改,包括 11 次插入4 次删除
  1. 11 4
      MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs

+ 11 - 4
MediaBrowser.Model/Dlna/ContentFeatureBuilder.cs

@@ -151,10 +151,12 @@ namespace MediaBrowser.Model.Dlna
                             DlnaFlags.InteractiveTransferMode |
                             DlnaFlags.DlnaV15;
 
-            // if (isDirectStream)
-            // {
-            //     flagValue = flagValue | DlnaFlags.ByteBasedSeek;
-            // }
+            if (isDirectStream)
+            {
+                flagValue |= DlnaFlags.ByteBasedSeek;
+            }
+
+            // Time based seek is curently disabled when streaming. On LG CX3 adding DlnaFlags.TimeBasedSeek and orgPn causes the DLNA playback to fail (format not supported). Further investigations are needed before enabling the remaining code paths.
             //  else if (runtimeTicks.HasValue)
             // {
             //     flagValue = flagValue | DlnaFlags.TimeBasedSeek;
@@ -209,6 +211,11 @@ namespace MediaBrowser.Model.Dlna
                 {
                     contentFeatureList.Add(orgOp.TrimStart(';') + orgCi + dlnaflags);
                 }
+                else if (isDirectStream)
+                {
+                    // orgOp should be added all the time once the time based seek is resolved for transcoded streams
+                    contentFeatureList.Add("DLNA.ORG_PN=" + orgPn + orgOp + orgCi + dlnaflags);
+                }
                 else
                 {
                     contentFeatureList.Add("DLNA.ORG_PN=" + orgPn + orgCi + dlnaflags);