On Mon, 2013-02-18 at 16:31 +0100, Stefan Huber wrote: > Enable advanced AEC methods to use different specs (i.e., number of > channels) for rec and out stream. A typical application is beam forming > resp. multi-channel AEC, which takes multiple record channels to produce > an echo-canceled output stream. > This commit alters the EC API as follows: the EC's init() used to get > source and sink's sample spec/channel map. The new interface renamed > source to rec and sink to play and additionally passes sample spec and > channel map of the out stream. The new parameter names of init() > {rec,play,out}_{ss,map} are more intuitive and also resemble to the > parameter names known from run(). Both rec_{ss,map} and out_{ss,map} are > initialized as we knew it from source_{ss,map} before being passed to > init(). The previous EC implementations only require trivial changes, > i.e., setting rec_{ss,map} to out_{ss,map} at the end of init() in case > that out_{ss,map} is modified in init(). > --- > src/modules/echo-cancel/adrian.c | 34 ++++++------ > src/modules/echo-cancel/echo-cancel.h | 36 +++++++------ > src/modules/echo-cancel/module-echo-cancel.c | 71 +++++++++++++++----------- > src/modules/echo-cancel/null.c | 18 ++++--- > src/modules/echo-cancel/speex.c | 34 ++++++------ > src/modules/echo-cancel/webrtc.cc | 27 +++++----- > 6 files changed, 125 insertions(+), 95 deletions(-) Applied, thanks. -- Tanu