aboutsummaryrefslogtreecommitdiff
path: root/plugins/rtp/CMakeLists.txt
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2021-05-01 15:19:05 +0200
committerMarvin W <git@larma.de>2021-05-01 15:48:51 +0200
commit23ffd37dded3bf872e42d7a00727ab3c4d105a97 (patch)
tree86278ca49c2eee8c8c091e70d4a5190c21c57aed /plugins/rtp/CMakeLists.txt
parent6b976cdb6604f6f27b72f7397b38d45dd4f916c6 (diff)
downloaddino-23ffd37dded3bf872e42d7a00727ab3c4d105a97.tar.gz
dino-23ffd37dded3bf872e42d7a00727ab3c4d105a97.zip
Echo Cancellation
Diffstat (limited to 'plugins/rtp/CMakeLists.txt')
-rw-r--r--plugins/rtp/CMakeLists.txt20
1 files changed, 18 insertions, 2 deletions
diff --git a/plugins/rtp/CMakeLists.txt b/plugins/rtp/CMakeLists.txt
index 92ec1b97..b19c8a8f 100644
--- a/plugins/rtp/CMakeLists.txt
+++ b/plugins/rtp/CMakeLists.txt
@@ -1,4 +1,5 @@
find_package(GstRtp REQUIRED)
+find_package(WebRTCAudioProcessing 0.2)
find_packages(RTP_PACKAGES REQUIRED
Gee
GLib
@@ -8,12 +9,26 @@ find_packages(RTP_PACKAGES REQUIRED
GTK3
Gst
GstApp
+ GstAudio
)
if(Gst_VERSION VERSION_GREATER "1.16")
set(RTP_DEFINITIONS GST_1_16)
endif()
+if(WebRTCAudioProcessing_VERSION GREATER "0.4")
+ message(WARNING "Ignoring WebRTCAudioProcessing, only versions < 0.4 supported so far")
+ unset(WebRTCAudioProcessing_FOUND)
+endif()
+
+if(WebRTCAudioProcessing_FOUND)
+ set(RTP_DEFINITIONS ${RTP_DEFINITIONS} WITH_VOICE_PROCESSOR)
+ set(RTP_VOICE_PROCESSOR_VALA src/voice_processor.vala)
+ set(RTP_VOICE_PROCESSOR_CXX src/voice_processor_native.cpp)
+else()
+ message(WARNING "WebRTCAudioProcessing not found, build without voice pre-processing!")
+endif()
+
vala_precompile(RTP_VALA_C
SOURCES
src/codec_util.vala
@@ -23,6 +38,7 @@ SOURCES
src/stream.vala
src/video_widget.vala
src/register_plugin.vala
+ ${RTP_VOICE_PROCESSOR_VALA}
CUSTOM_VAPIS
${CMAKE_BINARY_DIR}/exports/crypto-vala.vapi
${CMAKE_BINARY_DIR}/exports/xmpp-vala.vapi
@@ -36,8 +52,8 @@ DEFINITIONS
)
add_definitions(${VALA_CFLAGS} -DG_LOG_DOMAIN="rtp" -I${CMAKE_CURRENT_SOURCE_DIR}/src)
-add_library(rtp SHARED ${RTP_VALA_C})
-target_link_libraries(rtp libdino crypto-vala ${RTP_PACKAGES} gstreamer-rtp-1.0)
+add_library(rtp SHARED ${RTP_VALA_C} ${RTP_VOICE_PROCESSOR_CXX})
+target_link_libraries(rtp libdino crypto-vala ${RTP_PACKAGES} gstreamer-rtp-1.0 webrtc-audio-processing)
set_target_properties(rtp PROPERTIES PREFIX "")
set_target_properties(rtp PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/plugins/)