瀏覽代碼

Fix the issue that HEVC transcoding can't be disabled

nyanmisaka 3 年之前
父節點
當前提交
4b1256e67b
共有 1 個文件被更改,包括 9 次插入2 次删除
  1. 9 2
      MediaBrowser.Model/Dlna/StreamBuilder.cs

+ 9 - 2
MediaBrowser.Model/Dlna/StreamBuilder.cs

@@ -771,10 +771,17 @@ namespace MediaBrowser.Model.Dlna
 
         private void BuildStreamVideoItem(StreamInfo playlistItem, VideoOptions options, MediaSourceInfo item, MediaStream videoStream, MediaStream audioStream, IEnumerable<MediaStream> candidateAudioStreams, string container, string videoCodec, string audioCodec)
         {
-            // prefer matching video codecs
             var videoCodecs = ContainerProfile.SplitValue(videoCodec);
             var directVideoCodec = ContainerProfile.ContainsContainer(videoCodecs, videoStream?.Codec) ? videoStream?.Codec : null;
-            playlistItem.VideoCodecs = directVideoCodec != null ? new[] { directVideoCodec } : videoCodecs;
+            if (directVideoCodec != null)
+            {
+                // merge directVideoCodec to videoCodecs
+                videoCodecs = videoCodecs != null && videoCodecs.Length > 0
+                    ? videoCodecs.Union(new[] { directVideoCodec }).ToArray()
+                    : new[] { directVideoCodec };
+            }
+
+            playlistItem.VideoCodecs = videoCodecs;
 
             // copy video codec options as a starting point, this applies to transcode and direct-stream
             playlistItem.MaxFramerate = videoStream?.AverageFrameRate;