[PATCH 0/3] echo-cancel: avoid glitches & allow 4-to-1 EC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following three patches are follow-ups to Peter's mail from Dec 4,
2012 with the subject "RFC: add multi-channel AEC support".

PATCH 1 concerns the bypassing of the EC implementation in case that the play
stream becomes empty. This causes glitches as internal buffers of the EC
implementation are bypassed.

PATCH 2 enables different sample specs for the record and output stream of the
echo canceler. (Commit 3a92be3c5cee is similar, but enables different sample
specs for record and play stream.) This patch will enable advanced echo
canceling, noise reduction or beam forming techniques where multiple
microphones are used in order to obtain a single cleaned channel. (In
particular, we implement an echo canceler that has a 1-channel play stream, a
4-channel record stream and a 1-channel output stream, i.e. 4-to-1 echo
canceling.)

PATCH 3: The current echo canceling framework cannot handle different sample
rates as it is assumed that a single sample (resp. frame, resp. buffer that is
passed to EC->run()) captures the same time span. However, it is not checked
whether the rates are all equal for the play, record and out stream.


Stefan Huber (3):
  echo-cancel: Do not bypass EC implementation when play stream is
    empty
  echo-cancel: Enable different sample specs for rec and out stream
  echo-cancel: Warn on different sample rates for rec, play, out stream

 src/modules/echo-cancel/adrian.c             |   32 ++---
 src/modules/echo-cancel/echo-cancel.h        |   34 ++---
 src/modules/echo-cancel/module-echo-cancel.c |  171 +++++++++++++++-----------
 src/modules/echo-cancel/null.c               |   17 ++-
 src/modules/echo-cancel/speex.c              |   34 ++---
 src/modules/echo-cancel/webrtc.cc            |   27 ++--
 6 files changed, 184 insertions(+), 131 deletions(-)

-- 
1.7.9.5



[Index of Archives]     [Linux Audio Users]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux