]> code.delx.au - pulseaudio/commit
echo-cancel: Add infrastructure for cancellers to do AGC
authorArun Raghavan <arun.raghavan@collabora.co.uk>
Fri, 4 Nov 2011 10:47:26 +0000 (16:17 +0530)
committerArun Raghavan <arun.raghavan@collabora.co.uk>
Mon, 7 Nov 2011 12:07:50 +0000 (17:37 +0530)
commit3d2f2424eb0740cbaa250867fc7280225e4d1c88
treee19e8bed748aec33cb4513e1c481981b99bb21e0
parenta813e85503355496c7ea6397e39072fd8ffedcff
echo-cancel: Add infrastructure for cancellers to do AGC

This adds some infrastructure for canceller implementations to also
perform acoustic gain control. Cancellers now have a couple of new API
calls that allow them to get/set capture volume.

This is made slightly complex by the fact that cancellation happens in
thread context while most volume mangling needs to be done in main
context. To deal with this, while getting the volume we save source
volume updates as they are propagated to thread context and use this
cached value for queries. To set the volume, we send an async message to
main context and let that set the source volume.
src/modules/echo-cancel/echo-cancel.h
src/modules/echo-cancel/module-echo-cancel.c