فهرست منبع

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;