Closed IWaheed closed 1 year ago
It's working fine. If you look inside speex_aec_capture() https://github.com/pjsip/pjproject/blob/8c41a770fe21d982ec911a6508fb56d15bc5cf29/pjmedia/src/pjmedia/echo_speex.c#L275 it calls speex_echo_capture() which cancels echo using the internal playback buffer.
Describe the bug
The function "pjmedia_echo_capture" is structured as such: `PJ_DEF(pj_status_t) pjmedia_echo_capture( pjmedia_echo_state echo, pj_int16_t rec_frm, unsigned options ) { struct frame *oldest_frm; pj_status_t status, rc;
`
Therefore when capture handler is defined, it is called only and _pjmedia_echocancel does not get cancelled. Therefore the function _speex_aec_cancelecho never gets called. I don't expect that any echo cancelling will occur without the function being called.
There is no other instance in the library where _pjmedia_echocancel gets called
Steps to reproduce
Using makefile
`DISABLE_FEATURES := \
ifeq ($(PJSIP_ENABLE_CXX),false)
DISABLE_FEATURES += pjsua2
endif
BUILD_ROOT := $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VER)
PJSIP_INSTALL_DIR := $(EXTERNAL_BUILD_DIR)/third_party/pjproject/core/install
$(CONFIGURE) :
$(BUILD) :
PJSIP version
from archive https://github.com/pjsip/pjproject/archive/6470fb9e4bd9baa14d50f754dc7f945e7a76c828.zip
Context
Embox OS on stm32f7 board
Log, call stack, etc