From a01354db002aa8f7ce5eb08acd85e75fde8df4a8 Mon Sep 17 00:00:00 2001 From: Arun Raghavan Date: Wed, 21 Oct 2015 11:45:32 +0530 Subject: [PATCH] tests: Make echo-cancel-test not crash Adding AGC broke this test, so we hard-disable the volume code in test mode. This is probably okay for now, since at least with analog AGC, the source volume changes and the data we get is going to be with AGC applied, but digital gain won't be encapsulated here. Long term, we might need to figure out how to deal with this properly. --- src/modules/echo-cancel/module-echo-cancel.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/modules/echo-cancel/module-echo-cancel.c b/src/modules/echo-cancel/module-echo-cancel.c index b0b98dbc1..acf43e99a 100644 --- a/src/modules/echo-cancel/module-echo-cancel.c +++ b/src/modules/echo-cancel/module-echo-cancel.c @@ -1558,17 +1558,23 @@ static int canceller_process_msg_cb(pa_msgobject *o, int code, void *userdata, i /* Called by the canceller, so source I/O thread context. */ void pa_echo_canceller_get_capture_volume(pa_echo_canceller *ec, pa_cvolume *v) { +#ifndef ECHO_CANCEL_TEST *v = ec->msg->userdata->thread_info.current_volume; +#else + pa_cvolume_set(v, 1, PA_VOLUME_NORM); +#endif } /* Called by the canceller, so source I/O thread context. */ void pa_echo_canceller_set_capture_volume(pa_echo_canceller *ec, pa_cvolume *v) { +#ifndef ECHO_CANCEL_TEST if (!pa_cvolume_equal(&ec->msg->userdata->thread_info.current_volume, v)) { pa_cvolume *vol = pa_xnewdup(pa_cvolume, v, 1); pa_asyncmsgq_post(pa_thread_mq_get()->outq, PA_MSGOBJECT(ec->msg), ECHO_CANCELLER_MESSAGE_SET_VOLUME, vol, 0, NULL, pa_xfree); } +#endif } uint32_t pa_echo_canceller_blocksize_power2(unsigned rate, unsigned ms) {