From ece6a51e5b5e92bc50bf93dd1d67bb7bfbbd15b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Smoczy=C5=84ski?= Date: Wed, 19 May 2021 23:00:08 +0200 Subject: [PATCH] [EGD-6800] Enable voice transcoding MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add voice transcoding during phone call with two basic transforms: - sample rate downscaling by a factor of 2 with a decimator - sample rate upscaling by a factor of 2 with an interpolator (no low-pass filter) Signed-off-by: Marcin SmoczyƄski --- .../Audio/Operation/RouterOperation.cpp | 47 ++- .../Audio/Operation/RouterOperation.hpp | 10 +- module-audio/Audio/StreamFactory.cpp | 52 +++- module-audio/Audio/StreamFactory.hpp | 19 +- module-audio/Audio/StreamProxy.cpp | 38 +-- module-audio/Audio/StreamProxy.hpp | 6 +- module-audio/Audio/test/TestStream.cpp | 2 +- module-audio/Audio/test/unittest_stream.cpp | 87 ++++-- .../Audio/test/unittest_transcode.cpp | 274 +++++++++++++----- .../Audio/transcode/BasicDecimator.hpp | 5 + .../Audio/transcode/BasicInterpolator.hpp | 5 + .../Audio/transcode/InputTranscodeProxy.cpp | 31 +- .../Audio/transcode/InputTranscodeProxy.hpp | 10 +- module-audio/Audio/transcode/MonoToStereo.cpp | 7 +- module-audio/Audio/transcode/MonoToStereo.hpp | 1 + .../Audio/transcode/NullTransform.cpp | 31 ++ .../Audio/transcode/NullTransform.hpp | 21 ++ module-audio/Audio/transcode/Transform.hpp | 18 +- .../Audio/transcode/TransformComposite.cpp | 27 +- .../Audio/transcode/TransformComposite.hpp | 8 +- .../Audio/transcode/TransformFactory.cpp | 111 +++++++ .../Audio/transcode/TransformFactory.hpp | 24 ++ module-audio/CMakeLists.txt | 2 + 23 files changed, 637 insertions(+), 199 deletions(-) create mode 100644 module-audio/Audio/transcode/NullTransform.cpp create mode 100644 module-audio/Audio/transcode/NullTransform.hpp create mode 100644 module-audio/Audio/transcode/TransformFactory.cpp create mode 100644 module-audio/Audio/transcode/TransformFactory.hpp diff --git a/module-audio/Audio/Operation/RouterOperation.cpp b/module-audio/Audio/Operation/RouterOperation.cpp index aba0684ebf8f1f42c394cb54f7ccf69856229f81..b8a127930abc60cfb45628887cf803ffdfa65f6d 100644 --- a/module-audio/Audio/Operation/RouterOperation.cpp +++ b/module-audio/Audio/Operation/RouterOperation.cpp @@ -7,6 +7,7 @@ #include