Skip to content

Commit

Permalink
FIX(client): Restore default echo cancellation option
Browse files Browse the repository at this point in the history
In mumble-voip#4694 the echo cancellation settings were refactored. During this,
the default value was changed from being Speex's mixed channel mode to
being off.

This commit restores the previous default except for macOS where Speex
echo cancellation does not work. There Apple's echo cancellation system
is set as the default. Although that only works with a certain
combination of input and output devices, it doesn't make the situation
worse for other combinations, so we might as well enable it by default.
  • Loading branch information
Krzmbrzl committed Feb 15, 2021
1 parent 2f5e8f6 commit 00292c9
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion src/mumble/Settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -401,7 +401,16 @@ Settings::Settings() {
bJackStartServer = false;
bJackAutoConnect = true;

echoOption = EchoCancelOptionID::DISABLED;
#ifdef Q_OS_MAC
// On macOS Speex can't be used, so we default to Apple's custom echo cancellation mode
// Note that this only seems to work with when using the builtin microphone and the builtin speakers. It
// doesn't make it worse for other combinations of input and output devices though. Thus it should be
// safe to enable this by default.
echoOption = EchoCancelOptionID::APPLE_AEC;
#else
// Everywhere else Speex works and thus we default to using that
echoOption = EchoCancelOptionID::SPEEX_MIXED;
#endif

bExclusiveInput = false;
bExclusiveOutput = false;
Expand Down

0 comments on commit 00292c9

Please sign in to comment.