From cd56af6e7e47a26892bc27c1b2728ecbe8ed6c8c Mon Sep 17 00:00:00 2001 From: Dale Glass <dale@daleglass.net> Date: Sat, 25 Sep 2021 19:15:28 +0200 Subject: [PATCH 1/7] Partial changes --- cmake/ports/webrtc/portfile.cmake | 6 +++--- libraries/audio-client/src/AudioClient.cpp | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cmake/ports/webrtc/portfile.cmake b/cmake/ports/webrtc/portfile.cmake index 3e81b9fd9c..34ea21005c 100644 --- a/cmake/ports/webrtc/portfile.cmake +++ b/cmake/ports/webrtc/portfile.cmake @@ -24,9 +24,9 @@ else () # else Linux desktop vcpkg_download_distfile( WEBRTC_SOURCE_ARCHIVE - URLS "${EXTERNAL_BUILD_ASSETS}/seth/webrtc-20190626-linux.tar.gz" - SHA512 07d7776551aa78cb09a3ef088a8dee7762735c168c243053b262083d90a1d258cec66dc386f6903da5c4461921a3c2db157a1ee106a2b47e7756cb424b66cc43 - FILENAME webrtc-20190626-linux.tar.gz + URLS "${EXTERNAL_BUILD_ASSETS}/dependencies/vcpkg/webrtc-20210914-linux.tar.xz" + SHA512 763d1b5e15ba65c88d74c0d478f612799f567fe32ac4688e5d529aa4932a6ace89a48a3741cde86c1dee6566fab3b32504656006764882a4c17769114b860f37 + FILENAME webrtc-20210914-linux.tar.xz ) endif () diff --git a/libraries/audio-client/src/AudioClient.cpp b/libraries/audio-client/src/AudioClient.cpp index 285549734c..47690925e4 100644 --- a/libraries/audio-client/src/AudioClient.cpp +++ b/libraries/audio-client/src/AudioClient.cpp @@ -1177,7 +1177,7 @@ void AudioClient::configureWebrtc() { config.echo_canceller.enabled = true; config.echo_canceller.mobile_mode = false; #if defined(WEBRTC_LEGACY) - config.echo_canceller.use_legacy_aec = false; +// config.echo_canceller.use_legacy_aec = false; #endif config.noise_suppression.enabled = false; config.noise_suppression.level = webrtc::AudioProcessing::Config::NoiseSuppression::kModerate; @@ -2507,4 +2507,4 @@ void AudioClient::setInputVolume(float volume, bool emitSignal) { emit inputVolumeChanged(_audioInput->volume()); } } -} \ No newline at end of file +} From 499010efe1424ca5dabdb917957b90f3ec3d0784 Mon Sep 17 00:00:00 2001 From: Dale Glass <dale@daleglass.net> Date: Mon, 11 Oct 2021 23:26:50 +0200 Subject: [PATCH 2/7] Update to latest webrtc package for Linux --- cmake/ports/webrtc/portfile.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/ports/webrtc/portfile.cmake b/cmake/ports/webrtc/portfile.cmake index 34ea21005c..8c1ac9967a 100644 --- a/cmake/ports/webrtc/portfile.cmake +++ b/cmake/ports/webrtc/portfile.cmake @@ -24,9 +24,9 @@ else () # else Linux desktop vcpkg_download_distfile( WEBRTC_SOURCE_ARCHIVE - URLS "${EXTERNAL_BUILD_ASSETS}/dependencies/vcpkg/webrtc-20210914-linux.tar.xz" - SHA512 763d1b5e15ba65c88d74c0d478f612799f567fe32ac4688e5d529aa4932a6ace89a48a3741cde86c1dee6566fab3b32504656006764882a4c17769114b860f37 - FILENAME webrtc-20210914-linux.tar.xz + URLS "${EXTERNAL_BUILD_ASSETS}/dependencies/vcpkg/webrtc-20211009-gcc-linux.tar.xz" + SHA512 d77f609bae18f1c1cbd4c50459691d1d887c6362d093e9a21614bcd7c0d9aa6364fb3cdedf04d9987f3c5728619f8c27e2c960585455c89e5b0d935595fb0386 + FILENAME webrtc-20211009-gcc-linux.tar.xz ) endif () From b9568e36ecc268bce5970a32d1de49974ff69a4c Mon Sep 17 00:00:00 2001 From: Dale Glass <dale@daleglass.net> Date: Sat, 16 Oct 2021 18:58:14 +0200 Subject: [PATCH 3/7] Enable data channel --- libraries/shared/src/shared/WebRTC.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/shared/src/shared/WebRTC.h b/libraries/shared/src/shared/WebRTC.h index 4a900dde4e..3f4c9e156f 100644 --- a/libraries/shared/src/shared/WebRTC.h +++ b/libraries/shared/src/shared/WebRTC.h @@ -37,7 +37,7 @@ #elif defined(Q_OS_LINUX) && defined(Q_PROCESSOR_X86_64) # define WEBRTC_AUDIO 1 # define WEBRTC_POSIX 1 -# define WEBRTC_LEGACY 1 +# define WEBRTC_DATA_CHANNELS 1 #elif defined(Q_OS_LINUX) && defined(Q_PROCESSOR_ARM) // WebRTC is basically impossible to build on aarch64 Linux. // I am looking at https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing for an alternative. From 9cab15a586ac5bdcad5d7dc3a13e06bae3f2553e Mon Sep 17 00:00:00 2001 From: Dale Glass <dale@daleglass.net> Date: Sat, 16 Oct 2021 18:58:23 +0200 Subject: [PATCH 4/7] Update package --- cmake/ports/webrtc/portfile.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/ports/webrtc/portfile.cmake b/cmake/ports/webrtc/portfile.cmake index 8c1ac9967a..bc10e35eac 100644 --- a/cmake/ports/webrtc/portfile.cmake +++ b/cmake/ports/webrtc/portfile.cmake @@ -24,9 +24,9 @@ else () # else Linux desktop vcpkg_download_distfile( WEBRTC_SOURCE_ARCHIVE - URLS "${EXTERNAL_BUILD_ASSETS}/dependencies/vcpkg/webrtc-20211009-gcc-linux.tar.xz" - SHA512 d77f609bae18f1c1cbd4c50459691d1d887c6362d093e9a21614bcd7c0d9aa6364fb3cdedf04d9987f3c5728619f8c27e2c960585455c89e5b0d935595fb0386 - FILENAME webrtc-20211009-gcc-linux.tar.xz + URLS "${EXTERNAL_BUILD_ASSETS}/dependencies/vcpkg/webrtc-m84-gcc-linux.tar.xz" + SHA512 13f311f0d6b8fc986e1f6eea426030e6ad961c98d012d79a66eb263b923c5a4894553c55f793cf70a3a7af6cd2252e733ead9eb54e24d729e2f73c2426b39a55 + FILENAME webrtc-m84-gcc-linux.tar.xz ) endif () From e8f44fd5548d47321dbf42c765cbab1c1f682613 Mon Sep 17 00:00:00 2001 From: Dale Glass <dale@daleglass.net> Date: Mon, 18 Oct 2021 20:40:23 +0200 Subject: [PATCH 5/7] Updated package --- cmake/ports/webrtc/portfile.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/ports/webrtc/portfile.cmake b/cmake/ports/webrtc/portfile.cmake index bc10e35eac..7458d6e899 100644 --- a/cmake/ports/webrtc/portfile.cmake +++ b/cmake/ports/webrtc/portfile.cmake @@ -25,7 +25,7 @@ else () vcpkg_download_distfile( WEBRTC_SOURCE_ARCHIVE URLS "${EXTERNAL_BUILD_ASSETS}/dependencies/vcpkg/webrtc-m84-gcc-linux.tar.xz" - SHA512 13f311f0d6b8fc986e1f6eea426030e6ad961c98d012d79a66eb263b923c5a4894553c55f793cf70a3a7af6cd2252e733ead9eb54e24d729e2f73c2426b39a55 + SHA512 dd08efb3e46d9e049f15bee8113b6630d969a3f98d757e6afaa62598a64658ae59b58f7b3f03658dc0fd94a010e76de71fe3fa3eed723bd8f7250433acfa936f FILENAME webrtc-m84-gcc-linux.tar.xz ) endif () From e44628f6d651a3badf70c5367b5753711f877d43 Mon Sep 17 00:00:00 2001 From: Dale Glass <dale@daleglass.net> Date: Mon, 18 Oct 2021 20:40:33 +0200 Subject: [PATCH 6/7] Target webrtc on Linux --- libraries/networking/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/networking/CMakeLists.txt b/libraries/networking/CMakeLists.txt index 7a11329a14..c635059d1b 100644 --- a/libraries/networking/CMakeLists.txt +++ b/libraries/networking/CMakeLists.txt @@ -4,8 +4,8 @@ link_hifi_libraries(shared platform) target_openssl() target_tbb() -if (WIN32) - # WEBRTC TODO: Add UNIX. + +if (WIN32 OR (UNIX AND NOT APPLE)) target_webrtc() endif () From 4abe8da23e4494fa139b5f1b320d6ff299909229 Mon Sep 17 00:00:00 2001 From: Dale Glass <dale@daleglass.net> Date: Wed, 20 Oct 2021 01:16:45 +0200 Subject: [PATCH 7/7] New build, against openssl --- cmake/ports/webrtc/portfile.cmake | 2 +- libraries/audio-client/src/AudioClient.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/ports/webrtc/portfile.cmake b/cmake/ports/webrtc/portfile.cmake index 7458d6e899..0986507e89 100644 --- a/cmake/ports/webrtc/portfile.cmake +++ b/cmake/ports/webrtc/portfile.cmake @@ -25,7 +25,7 @@ else () vcpkg_download_distfile( WEBRTC_SOURCE_ARCHIVE URLS "${EXTERNAL_BUILD_ASSETS}/dependencies/vcpkg/webrtc-m84-gcc-linux.tar.xz" - SHA512 dd08efb3e46d9e049f15bee8113b6630d969a3f98d757e6afaa62598a64658ae59b58f7b3f03658dc0fd94a010e76de71fe3fa3eed723bd8f7250433acfa936f + SHA512 f7c5f93566e2e79241cbb9628ab47302dd48739bb6a022c351be75553060fac4221892d094306a572cb3ec94c5031d7e812f07e7b3c0102be8c01b8c231f8ea0 FILENAME webrtc-m84-gcc-linux.tar.xz ) endif () diff --git a/libraries/audio-client/src/AudioClient.cpp b/libraries/audio-client/src/AudioClient.cpp index 47690925e4..b77ebbee21 100644 --- a/libraries/audio-client/src/AudioClient.cpp +++ b/libraries/audio-client/src/AudioClient.cpp @@ -1177,7 +1177,7 @@ void AudioClient::configureWebrtc() { config.echo_canceller.enabled = true; config.echo_canceller.mobile_mode = false; #if defined(WEBRTC_LEGACY) -// config.echo_canceller.use_legacy_aec = false; + config.echo_canceller.use_legacy_aec = false; #endif config.noise_suppression.enabled = false; config.noise_suppression.level = webrtc::AudioProcessing::Config::NoiseSuppression::kModerate;