diff --git a/meson.build b/meson.build index f8e660811c7f807fb789b3833aafac532249afc8..de1f69b8789803f6f09771934fc69a1cd19441cf 100644 --- a/meson.build +++ b/meson.build @@ -80,6 +80,9 @@ conf.set10('HAVE_PULSE', deplibpulse.found()) depjack = dependency('jack', required: get_option('jack')) conf.set10('HAVE_JACK', depjack.found()) +depwebrtcap = dependency('webrtc-audio-processing', required: get_option('webrtc-audio-processing')) +conf.set10('HAVE_WEBRTC_AP', depwebrtcap.found()) + depportaudio = dependency('portaudio-2.0', required: get_option('portaudio')) conf.set10('HAVE_PORTAUDIO', depportaudio.found()) diff --git a/meson_options.txt b/meson_options.txt index 32d46b76c39e633451ea71155994b40565641c02..1935b0181b3a53924bbd900ccda62863f4f682a0 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -11,6 +11,7 @@ option('jack', type: 'feature', value: 'auto', description: 'Enable support for option('portaudio', type: 'feature', value: 'auto', description: 'Enable support for PortAudio') option('upnp', type: 'feature', value: 'auto', description: 'Enable support for UPnP') option('natpmp', type: 'feature', value: 'auto', description: 'Enable support for NAT-PMP') +option('webrtc-audio-processing', type: 'feature', value: 'auto', description: 'Enable support for WebRtc audio processing') option('natpmp_prefix', type: 'string', value: '', description: 'Override a system directory to search for the library "natpmp"') option('tests', type: 'boolean', value: false, description: 'Build tests') diff --git a/src/meson.build b/src/meson.build index 24993df57450d999d27f8b0da6673f98c4db7ac2..0b8826dfb31181f9d3b44cf4b58950b2c77cec61 100644 --- a/src/meson.build +++ b/src/meson.build @@ -45,6 +45,9 @@ libjami_sources = files( 'media/audio/audio_receive_thread.cpp', 'media/audio/audio_rtp_session.cpp', 'media/audio/audio_sender.cpp', + 'media/audio/echo-cancel/echo_canceller.h', + 'media/audio/echo-cancel/null_echo_canceller.h', + 'media/audio/echo-cancel/null_echo_canceller.cpp', 'media/audio/dcblocker.cpp', 'media/audio/dsp.cpp', 'media/audio/resampler.cpp', @@ -159,6 +162,14 @@ if conf.get('HAVE_PULSE') == 1 libjami_dependencies += deplibpulse endif +if conf.get('HAVE_WEBRTC_AP') == 1 + libjami_sources += files( + 'media/audio/echo-cancel/webrtc_echo_canceller.h', + 'media/audio/echo-cancel/webrtc_echo_canceller.cpp' + ) + libjami_dependencies += depwebrtcap +endif + if conf.get('HAVE_JACK') == 1 libjami_sources += files( 'media/audio/jack/jacklayer.cpp'