On Wed, Feb 17, 2010 at 2:29 PM, Alexei Kuznetsov <eofster at gmail.com> wrote: > On Wed, Feb 17, 2010 at 1:13 PM, Alexei Kuznetsov <eofster at gmail.com> wrote: >> On Tue, Feb 16, 2010 at 7:53 PM, Benny Prijono <bennylp at teluu.com> wrote: >>> On Sun, Feb 14, 2010 at 11:13 AM, Alexei Kuznetsov <eofster at gmail.com> wrote: >>>> Hi, >>>> >>>> I?m testing pjproject-1.5.5 on Mac OS X 10.6.2. I?m running pjsua for the test. >>>> >>>> When I?m plugging or unplugging headphones during a call, I?m getting >>>> this (starting from 14:06:21.173): >>>> ?14:06:14.293 ? ?pjsua_app.c ?Call 1 state changed to CONFIRMED >>>> ?14:06:14.295 ? Master/sound ?Underflow, buf_cnt=0, will generate 1 frame >>>> ?14:06:14.376 ? sound_port.c ?EC activated >>>> ?14:06:14.835 ? Master/sound ?Underflow, buf_cnt=0, will generate 1 frame >>>> ?14:06:14.916 strm0x1008879c ?VAD re-enabled >>>> ?14:06:21.173 ? Master/sound ?Buffer size adjusted from 1280 to 1118 >>>> (eff_cnt=910) >>>> ?14:06:21.595 ? Master/sound ?Buffer size adjusted from 1438 to 1002 >>>> (eff_cnt=910) >>>> ?14:06:21.914 ? Master/sound ?Buffer size adjusted from 1322 to 1068 >>>> (eff_cnt=910) >>>> ?14:06:22.233 ?ec0x100601ff0 ?Underflow, buf_cnt=3, will generate 1 frame >>>> ?14:06:22.255 ? Master/sound ?Buffer size adjusted from 1388 to 1179 >>>> (eff_cnt=910) >>>> ?14:06:22.378 ? Master/sound ?Buffer size adjusted from 1179 to 718 >>>> (eff_cnt=842) >>>> ?14:06:22.633 ?ec0x100601ff0 ?Underflow, buf_cnt=3, will generate 1 frame >>>> ?14:06:22.973 ?ec0x100601ff0 ?Underflow, buf_cnt=3, will generate 1 frame >>>> ?14:06:23.075 ? Master/sound ?Buffer size adjusted from 1358 to 899 >>>> (eff_cnt=842) >>>> ?14:06:23.373 ?ec0x100601ff0 ?Underflow, buf_cnt=3, will generate 1 frame >>>> ?14:06:23.396 ? Master/sound ?Buffer size adjusted from 1219 to 963 >>>> (eff_cnt=842) >>>> ?14:06:23.635 ?ec0x100601ff0 ?Underflow, buf_cnt=3, will generate 1 frame >>>> >>>> And so on until I hang up the call. >>>> >>> >>> Sorry, but I don't see the assertion? For the underflow messages, it's >>> probably too excessive, but you can ignore that (for now) if you don't >>> have any problems with the audio quality. >> >> Yeah, my fault. Here it?s just the audio that stops working (I mean I >> can?t hear anything from the moment I plug or unplug headphones). >> Assertion occurs in the same place when I?m using pjsua-lib with my >> app. Actually, this was alway this way since the release of Mac OS X >> 10.6. I?ve tried both pjsip 1.0.x and pjsip 1.x. >> >> Alexei >> > > And here?s the assertion I?m talking about: > > Assertion failed: (thread->signature1 != 0xDEAFBEEF || > thread->signature2 != 0xDEADC0DE || (thread->thread == > pthread_self())), function pj_thread_register, file > ../src/pj/os_core_unix.c, line 384. > > (gdb) bt > #0 ?0x00007fff84a5584d in usleep$NOCANCEL () > #1 ?0x00007fff84a74e3c in abort () > #2 ?0x00007fff84a61e74 in __assert_rtn () > #3 ?0x00000001000fea52 in pj_thread_register () > #4 ?0x000000010007f880 in PaPlayerCallback () > #5 ?0x00000001000f8ea0 in AdaptingOutputOnlyProcess () > #6 ?0x00000001000f9cdb in PaUtil_EndBufferProcessing () > #7 ?0x00000001000f3060 in AudioIOProc () > #8 ?0x00000001015215b4 in dyld_stub_vm_purgable_control () > #9 ?0x0000000101521677 in dyld_stub_vm_purgable_control () > #10 0x00007fff805cf2f3 in AudioConverterChain::CallInputProc () > #11 0x00007fff805cee9e in AudioConverterChain::FillBufferFromInputProc () > #12 0x00007fff805cee1f in BufferedAudioConverter::GetInputBytes () > #13 0x00007fff80611b21 in Resampler2Wrapper::RenderOutput () > #14 0x00007fff805cea63 in BufferedAudioConverter::FillBuffer () > #15 0x00007fff805cedfd in BufferedAudioConverter::GetInputBytes () > #16 0x00007fff805cece3 in CBRConverter::RenderOutput () > #17 0x00007fff805cea63 in BufferedAudioConverter::FillBuffer () > #18 0x00007fff805cebd4 in AudioConverterChain::RenderOutput () > #19 0x00007fff805cea63 in BufferedAudioConverter::FillBuffer () > #20 0x00007fff805ce7df in AudioConverterFillComplexBuffer () > #21 0x0000000101521731 in dyld_stub_vm_purgable_control () > #22 0x00000001015212c4 in dyld_stub_vm_purgable_control () > #23 0x000000010151f507 in dyld_stub_vm_purgable_control () > #24 0x000000010151e854 in dyld_stub_vm_purgable_control () > #25 0x0000000101523fe7 in AUGenericOutputEntry () > #26 0x00007fff8332e86d in HP_IOProc::Call () > #27 0x00007fff8332e63f in IOA_Device::CallIOProcs () > #28 0x00007fff8332e475 in HP_IOThread::PerformIO () > #29 0x00007fff8332c484 in HP_IOThread::WorkLoop () > #30 0x00007fff8332bd57 in HP_IOThread::ThreadEntry () > #31 0x00007fff8332bc85 in CAPThread::Entry () > #32 0x00007fff849bef8e in _pthread_start () > #33 0x00007fff849bee41 in thread_start () > > Using pjsua-lib form pjproject-1.5.5, Mac OS X 10.6.2. > > Alexei Any comments, Benny? Maybe there is some place in pjsip where we can just add a pj_thread_register() to solve this? Alexei >>> >>> Cheers >>> ?Benny >>>