On Thu, Feb 18, 2010 at 12:20 AM, Samuel Vinson <samuelv at laposte.net> wrote: > Hello, > > You should read mailing list archive. Your issue are already discussed. > You need to register the thread. > I think when you plug/unplug an headset, mac os creates a new thread to > manage sound. Yes, I know about registering threads. But that thread is not managed by me. I don?t receive any callbacks from pjsip related to plugging or unplugging headphones. Alexei > > Samuel > > Le 17/02/10 12:29, Alexei Kuznetsov a ?crit : >> >> 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