Prefer other codecs over DTS and TrueHD on transcode
This commit is contained in:
parent
1f15724398
commit
ee4ffd64e1
|
@ -5609,14 +5609,22 @@ namespace MediaBrowser.Controller.MediaEncoding
|
||||||
}
|
}
|
||||||
|
|
||||||
var inputChannels = audioStream is null ? 6 : audioStream.Channels ?? 6;
|
var inputChannels = audioStream is null ? 6 : audioStream.Channels ?? 6;
|
||||||
|
var shiftAudioCodecs = new List<string>();
|
||||||
if (inputChannels >= 6)
|
if (inputChannels >= 6)
|
||||||
{
|
{
|
||||||
return;
|
// DTS and TrueHD are not supported by HLS
|
||||||
|
// Keep them in the supported codecs list, but shift them to the end of the list so that if transcoding happens, another codec is used
|
||||||
|
shiftAudioCodecs.Add("dca");
|
||||||
|
shiftAudioCodecs.Add("truehd");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Transcoding to 2ch ac3 or eac3 almost always causes a playback failure
|
||||||
|
// Keep them in the supported codecs list, but shift them to the end of the list so that if transcoding happens, another codec is used
|
||||||
|
shiftAudioCodecs.Add("ac3");
|
||||||
|
shiftAudioCodecs.Add("eac3");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Transcoding to 2ch ac3 almost always causes a playback failure
|
|
||||||
// Keep it in the supported codecs list, but shift it to the end of the list so that if transcoding happens, another codec is used
|
|
||||||
var shiftAudioCodecs = new[] { "ac3", "eac3" };
|
|
||||||
if (audioCodecs.All(i => shiftAudioCodecs.Contains(i, StringComparison.OrdinalIgnoreCase)))
|
if (audioCodecs.All(i => shiftAudioCodecs.Contains(i, StringComparison.OrdinalIgnoreCase)))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user