static int speex_init(int nframes, int rate, int channels)
{
+ spx_int32_t value = 1;
sp.nframes = nframes;
sp.filter_frames = nframes; /* TODO:It takes much time when 10 times of nframe */
sp.channels = channels;
return -1;
}
+ if (speex_preprocess_ctl(sp.preprocess, SPEEX_PREPROCESS_SET_AGC, &value)) {
+ LOGE("speex_echo_ctl SPEEX_PREPROCESS_SET_AGC failed\n");
+ return -1;
+ }
+
+ if (speex_preprocess_ctl(sp.preprocess, SPEEX_PREPROCESS_SET_DENOISE, &value)) {
+ LOGE("speex_echo_ctl SPEEX_PREPROCESS_SET_DENOISE failed\n");
+ return -1;
+ }
+
+ if (speex_preprocess_ctl(sp.preprocess, SPEEX_PREPROCESS_SET_DEREVERB, &value)) {
+ LOGE("speex_echo_ctl SPEEX_PREPROCESS_SET_DEREVERB failed\n");
+ return -1;
+ }
+
if (speex_preprocess_ctl(sp.preprocess, SPEEX_PREPROCESS_SET_ECHO_STATE, sp.echo_state)) {
LOGE("speex_echo_ctl SET_ECHO_STATE failed\n");
return -1;
loopback->name, capture, playback, sq_get_work_node_count(loopback->q));
if (loopback->refq)
- LOGE("refq delay(%d)", sq_get_work_node_count(loopback->refq));
+ LOGD("refq delay(%d)", sq_get_work_node_count(loopback->refq));
return 0;
}