mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-06 05:47:14 -04:00
Merge pull request #7716 from Shadowghost/opus-fix
Respect limited opus sampling rates when building trancoding command
This commit is contained in:
commit
5a9afb0874
@ -5370,12 +5370,22 @@ namespace MediaBrowser.Controller.MediaEncoding
|
|||||||
audioTranscodeParams.Add("-ac " + state.OutputAudioChannels.Value.ToString(CultureInfo.InvariantCulture));
|
audioTranscodeParams.Add("-ac " + state.OutputAudioChannels.Value.ToString(CultureInfo.InvariantCulture));
|
||||||
}
|
}
|
||||||
|
|
||||||
// opus will fail on 44100
|
|
||||||
if (!string.Equals(state.OutputAudioCodec, "opus", StringComparison.OrdinalIgnoreCase))
|
if (!string.Equals(state.OutputAudioCodec, "opus", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
if (state.OutputAudioSampleRate.HasValue)
|
// opus only supports specific sampling rates
|
||||||
|
var sampleRate = state.OutputAudioSampleRate;
|
||||||
|
if (sampleRate.HasValue)
|
||||||
{
|
{
|
||||||
audioTranscodeParams.Add("-ar " + state.OutputAudioSampleRate.Value.ToString(CultureInfo.InvariantCulture));
|
var sampleRateValue = sampleRate.Value switch
|
||||||
|
{
|
||||||
|
<= 8000 => 8000,
|
||||||
|
<= 12000 => 12000,
|
||||||
|
<= 16000 => 16000,
|
||||||
|
<= 24000 => 24000,
|
||||||
|
_ => 48000
|
||||||
|
};
|
||||||
|
|
||||||
|
audioTranscodeParams.Add("-ar " + sampleRateValue.ToString(CultureInfo.InvariantCulture));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user