module-echo-cancel: Wire up the webrtc echo canceller

Mostly uses the existing infrastructure, but the webrtc canceller has a
fixed blocksize, so we:

  1. Use the canceller blocksize if configured
  2. Accumulate output data in a ringbuffer
  3. Push out the data in the required chunk size
This commit is contained in:
Arun Raghavan 2021-05-28 11:28:03 -04:00
parent 1349d5334d
commit d95870d8d3
9 changed files with 247 additions and 69 deletions

View file

@ -344,6 +344,14 @@ if not get_option('gstreamer-device-provider').disabled()
cdata.set('HAVE_GSTREAMER_DEVICE_PROVIDER', 1)
endif
webrtc_dep = dependency('webrtc-audio-processing',
version : ['>= 0.2', '< 1.0'],
required : get_option('echo-cancel-webrtc'))
if webrtc_dep.found()
cdata.set('HAVE_WEBRTC', 1)
endif
# On FreeBSD, epoll-shim library is required for eventfd() and timerfd()
epoll_shim_dep = (build_machine.system() == 'freebsd'
? dependency('epoll-shim', required: true)