Witam! If I update the sound devices list by that function: void Pjsua::UpdateSndDevList() { int capture, playback; pjsua_get_snd_dev(&capture, &playback); pjsua_set_null_snd_dev(); pjmedia_snd_deinit(); pjmedia_snd_init( pjsua_get_pool_factory() ); pjsua_set_snd_dev(capture, playback); } and conference is active I'll receive "STACK OVERFLOW!!" assertion: Program: E:\MyApp\bin\debug\MyApp.exe File: e:\dev\pjproject-0.9.0\pjlib\src\pj\os_core_win32.c Line: 600 Expression: "STACK OVERFLOW!! " && (usage <= thread->stk_size - 128) I don't know why. If I change device without updating devs list (re-init pjmedia) when conference is active all works. Call stack: MyApp.exe!_wassert(const wchar_t * expr=0x00cb3148, const wchar_t * filename=0x00cb2d38, unsigned int lineno=600) Line 384 C MyApp.exe!pj_thread_check_stack(const char * file=0x00cb2cac, int line=940) Line 600 + 0x32 bytes C MyApp.exe!pj_mutex_unlock(pj_mutex_t * mutex=0x018e0118) Line 940 + 0x13 bytes C MyApp.exe!pj_lock_release(pj_lock_t * lock=0x018e0104) Line 189 + 0x10 bytes C > MyApp.exe!speex_aec_capture(void * state=0x018e00d4, short * rec_frm=0x00174018, unsigned int options=0) Line 519 + 0xc bytes C MyApp.exe!pjmedia_echo_capture(pjmedia_echo_state * echo=0x018e00cc, short * rec_frm=0x00174018, unsigned int options=0) Line 161 + 0x1b bytes C MyApp.exe!rec_cb(void * user_data=0x018e008c, unsigned int timestamp=8640, void * input=0x00174018, unsigned int size=640) Line 219 + 0x12 bytes C MyApp.exe!PaRecorderCallback(const void * input=0x00174018, void * output=0x00000000, unsigned long frameCount=320, const PaStreamCallbackTimeInfo * timeInfo=0x022cfd2c, unsigned long statusFlags=0, void * userData=0x018e52cc) Line 168 + 0x2a bytes C MyApp.exe!AdaptingInputOnlyProcess(PaUtilBufferProcessor * bp=0x00184d00, int * streamCallbackResult=0x022cfdc8, PaUtilChannelDescriptor * hostInputChannels=0x00182ff8, unsigned long framesToProcess=480) Line 998 + 0x33 bytes C MyApp.exe!PaUtil_EndBufferProcessing(PaUtilBufferProcessor * bp=0x00184d00, int * streamCallbackResult=0x022cfdc8) Line 1567 + 0x18 bytes C MyApp.exe!Pa_TimeSlice(PaWinDsStream * stream=0x00184cb0) Line 2106 + 0x10 bytes C MyApp.exe!Pa_TimerCallback(unsigned int uID=65, unsigned int uMsg=0, unsigned long dwUser=1592496, unsigned long dw1=0, unsigned long dw2=0) Line 2209 + 0x9 bytes C winmm.dll!76b254f3() [Frames below may be incorrect and/or missing, no symbols loaded for winmm.dll] winmm.dll!76b3ae36() winmm.dll!76b3af21() winmm.dll!76b3af3a() kernel32.dll!7c80b683() I using pjsip 0.9.0 build to uses only iLBC codec, so what is doing speex_aec_capture function on call stack? -- Pozdrowienia, Marcin 'Malcom' Malich me at malcom.pl http://malcom.pl