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;