From 4b1256e67b7d984ac7737f65b2cceab9a8cb0d96 Mon Sep 17 00:00:00 2001 From: nyanmisaka Date: Fri, 6 May 2022 02:27:16 +0800 Subject: [PATCH] Fix the issue that HEVC transcoding can't be disabled --- MediaBrowser.Model/Dlna/StreamBuilder.cs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs index ee9cfeeca8..9702412cb2 100644 --- a/MediaBrowser.Model/Dlna/StreamBuilder.cs +++ b/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 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;