diff --git a/src/media/audio/audiolayer.cpp b/src/media/audio/audiolayer.cpp index e45e740393743f98d0e16448aa091c571aec8a82..29382c04d2536dbfad26bb87e5475f15cd488540 100644 --- a/src/media/audio/audiolayer.cpp +++ b/src/media/audio/audiolayer.cpp @@ -155,13 +155,10 @@ AudioLayer::setHasNativeAEC(bool hasNativeAEC) void AudioLayer::createAudioProcessor() { - auto nb_channels = std::min(audioFormat_.nb_channels, audioInputFormat_.nb_channels); - auto sample_rate = std::min(audioFormat_.sample_rate, audioInputFormat_.sample_rate); + auto nb_channels = std::max(audioFormat_.nb_channels, audioInputFormat_.nb_channels); + auto sample_rate = std::max(audioFormat_.sample_rate, audioInputFormat_.sample_rate); - // TODO: explain/rework this math?? - if (sample_rate % 16000u != 0) - sample_rate = 16000u * ((sample_rate / 16000u) + 1u); - sample_rate = std::clamp(sample_rate, 16000u, 96000u); + sample_rate = std::clamp(sample_rate, 16000u, 48000u); AudioFormat formatForProcessor {sample_rate, nb_channels};