summaryrefslogtreecommitdiffstats
path: root/pica-client/main.cpp
diff options
context:
space:
mode:
authorAnton <anton@picapica.im>2026-09-13 19:53:28 +0400
committerAnton <anton@picapica.im>2026-09-13 19:53:28 +0400
commit9a84c95af6771590d4e5fe436e77bbe92a9dea92 (patch)
tree71511a89b296d02d4106f9f031de806c8db422b7 /pica-client/main.cpp
parente62dd7d30bec7a679013dcce8ec4bc2b2f842109 (diff)
downloadpica-pica-9a84c95af6771590d4e5fe436e77bbe92a9dea92.tar.gz
pica-pica-9a84c95af6771590d4e5fe436e77bbe92a9dea92.zip
pica-client: use webrtc-audio-processing instead of speexdsp for echo cancellation
Diffstat (limited to 'pica-client/main.cpp')
-rw-r--r--pica-client/main.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/pica-client/main.cpp b/pica-client/main.cpp
index 330f487..3972ab8 100644
--- a/pica-client/main.cpp
+++ b/pica-client/main.cpp
@@ -449,14 +449,21 @@ static bool create_config_dir()
QFile::setPermissions(config_dbname, QFile::ReadOwner | QFile::WriteOwner);
- // Publish the audio driver choice to the audio threads while we are still
- // the only thread and the settings database is reachable - see
- // AudioDevice::SetLinuxDriverName() for why it cannot be read on demand.
+ // Publish the audio driver choice and the echo cancellation setting to the
+ // audio threads while we are still the only thread and the settings
+ // database is reachable - see AudioDevice::SetLinuxDriverName() for why
+ // they cannot be read on demand.
+ //
+ // The driver first: on Linux it is what decides whether the platform has
+ // any cancellation to offer, which loadEchoCancellationSetting() needs in
+ // order to work out the default.
{
Settings audiost(config_dbname);
AudioDevice::SetLinuxDriverName(audiost.loadValue("audio.driver", "alsa").toString());
}
+ AudioDevice::SetEchoCancellation(loadEchoCancellationSetting());
+
/*if (!QFile::exists(config_dir + QDir::separator() + PICA_CLIENT_DHPARAMFILE))
{
OpenSSLTool osslt;