From 03c82169465d6d1b301d14828a730aba675503a9 Mon Sep 17 00:00:00 2001 From: dkanada Date: Mon, 28 Dec 2020 13:38:04 +0900 Subject: [PATCH] Merge pull request #4860 from nyanmisaka/3ch-transcode-hls Avoid transcoding to 3ch audio for HLS streaming (cherry picked from commit 2913e2604c3a0fd36cf4d4f6d74a65289be187d5) Signed-off-by: Joshua M. Boniface --- .../MediaEncoding/EncodingHelper.cs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 6667c1c3bc..efab87a38e 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -1722,6 +1722,16 @@ namespace MediaBrowser.Controller.MediaEncoding : transcoderChannelLimit.Value; } + // Avoid transcoding to audio channels other than 1ch, 2ch, 6ch (5.1 layout) and 8ch (7.1 layout). + // https://developer.apple.com/documentation/http_live_streaming/hls_authoring_specification_for_apple_devices + if (isTranscodingAudio + && state.TranscodingType != TranscodingJobType.Progressive + && resultChannels.HasValue + && (resultChannels.Value > 2 && resultChannels.Value < 6 || resultChannels.Value == 7)) + { + resultChannels = 2; + } + return resultChannels; }