All, The implementation of SPEEX_PREPROCESS_GET_ECHO_STATE in preprocess.c seems to be broken. The value of the echo_state pointer is assigned to the stack variable rather than to the memory location pointed to by the stack variable. Code snippet from preprocess.c: case SPEEX_PREPROCESS_GET_ECHO_STATE: ptr = (void*)st->echo_state; break; It seems as though the code should be: case SPEEX_PREPROCESS_GET_ECHO_STATE: (*(SpeexEchoState*)ptr) = (SpeexEchoState*)st->echo_state; break; PS - Sorry if this has already been received. I sent this yesterday before realizing that I hadn't subscribed to the mailing list. Jeff Kinzer Software Developer COMOTIV SYSTEMS 111 SW Columbia?Street Ste. 950 Portland,?OR 97201 Office: ?????503.224.7496 Direct Line: 503.821.6479 Fax:?????????503.222.0185 jkinzer at comotivsystems.com www.comotiv.com
Jean-Marc Valin
2008-Jul-22 19:11 UTC
[Speex-dev] FW: SPEEX_PREPROCESS_GET_ECHO_STATE broken
> The implementation of SPEEX_PREPROCESS_GET_ECHO_STATE in preprocess.c > seems to be broken. The value of the echo_state pointer is assigned > to the stack variable rather than to the memory location pointed to > by the stack variable. > > case SPEEX_PREPROCESS_GET_ECHO_STATE: ptr = (void*)st->echo_state; > break; > > It seems as though the code should be: > > case SPEEX_PREPROCESS_GET_ECHO_STATE: (*(SpeexEchoState*)ptr) > (SpeexEchoState*)st->echo_state; break;Sorry about that. I'll fix it ASAP.> PS - Sorry if this has already been received. I sent this yesterday > before realizing that I hadn't subscribed to the mailing list.No worries. I'll remove it from the mod queue. Note that if you post when not subscribed, it just takes a few days before I approve it and post it. The idea isn't to prevent non-members from posting, just to control spam. Jean-Marc