From b2f83b2502233f0fcfbf6bf78df9c03f5265d4de Mon Sep 17 00:00:00 2001 From: Arun Raghavan Date: Mon, 13 Jun 2011 13:40:33 -0700 Subject: echo-cancel: Fix preprocessor initialisation We were using the block size in bytes instead of samples, which meant preprocessing was broken. This fix makes a large-ish difference in the quality of echo-cancellation with speex. --- src/modules/echo-cancel/module-echo-cancel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/modules') diff --git a/src/modules/echo-cancel/module-echo-cancel.c b/src/modules/echo-cancel/module-echo-cancel.c index cb308329..c406508c 100644 --- a/src/modules/echo-cancel/module-echo-cancel.c +++ b/src/modules/echo-cancel/module-echo-cancel.c @@ -1481,7 +1481,7 @@ int pa__init(pa_module*m) { goto fail; } - u->ec->pp_state = speex_preprocess_state_init(u->blocksize, source_ss.rate); + u->ec->pp_state = speex_preprocess_state_init(u->blocksize / pa_frame_size(&source_ss), source_ss.rate); speex_preprocess_ctl(u->ec->pp_state, SPEEX_PREPROCESS_SET_AGC, &u->ec->agc); speex_preprocess_ctl(u->ec->pp_state, SPEEX_PREPROCESS_SET_DENOISE, &u->ec->denoise); -- cgit