I've looked into pjsua_media.c and found a function check_snd_dev_idle(). I've tried to call it just before return from pjsua_set_snd_dev() and the app worked the way I wanted. I don't know if this is the right way to do it, but this is the patch: Index: pjsip/src/pjsua-lib/pjsua_media.c =================================================================== --- pjsip/src/pjsua-lib/pjsua_media.c (revision 2356) +++ pjsip/src/pjsua-lib/pjsua_media.c (working copy) @@ -2295,6 +2295,8 @@ pj_cstr(&tmp, play_info->name)); } + check_snd_dev_idle(); + return PJ_SUCCESS; } On Thu, Nov 6, 2008 at 8:52 PM, Alexei Kuznetsov <eofster at gmail.com> wrote: > I've played a little more and figured out that if I make a call, cpu > usage decreases to normal. Here's the program flow: > > 0. Create pjsua, init with snd_auto_close_time=0, add transport > 1. pjsua_start() > 2. pjsua_set_snd_dev() -- after that cpu is about 10% > > If the user leaves the app alone at this stage, it consumes cpu cycles. > > 3. pjsua_call_make_call() > 4. pjsua_call_hangup() or call termination from another party -- cpu > back to 0% after that step. > > I have to call pjsua_set_snd_dev() at program start-up to select > appropriate sound device. Is there a procedure to explicitly close the > thing that snd_auto_close_time=0 closes after a voice call? > > On Thu, Nov 6, 2008 at 8:31 PM, Alexei Kuznetsov <eofster at gmail.com> wrote: >> Thanks, I didn't know about that parameter. Just tried it. It helped >> in case of pjsua app: cpu usage decreases to less than 1% after making >> a call. But if I use pjsua-lib and call pjsua_set_snd_dev(), cpu usage >> stays high. >> >> Alexei >> >> On Thu, Nov 6, 2008 at 8:00 PM, samuel.vinson <samuelv at laposte.net> wrote: >>> >>> Did you try to use auto-sound-close parameter with value=0 ? >>> >>> Samuel >>> >>> >>> >>>> Message du 06/11/08 13:57 >>>> De : "Alexei Kuznetsov" >>>> A : "pjsip list" >>>> Copie ? : >>>> Objet : Re: [pjsip] CPU is up to 10% after pjsua_set_snd_dev() >>> >>>> >>>> >>>> I mean, the application uses 10% of cpu without any media active. >>>> Also, pjsua without any params uses less than 1% cpu after start-up, >>>> but 10% after the first call. Is it something you could improve in the >>>> future? Or is it the design, or is it not up to pjproject but to other >>>> code pjrpoject uses? Is it on a Mac only? >>>> >>>> -- >>>> Best regards, >>>> Alexei >>>> >>>> On Thu, Nov 6, 2008 at 12:05 PM, Nanang Izzuddin wrote: >>>> > Hi, >>>> > >>>> > I guess that's normal, I experienced about the same with echo >>>> > canceller enabled (running pjsua without any params). >>>> > >>>> > Regards, >>>> > nanang >>>> > >>>> > >>>> > On Thu, Nov 6, 2008 at 5:45 AM, Alexei Kuznetsov wrote: >>>> >> Hi, >>>> >> >>>> >> After calling pjsua_set_snd_dev() CPU loads up to 10%. Mac OS X 10.5.5, >>>> >> Intel. >>>> >> >>>> >> Is that an ussue or a normal behavior? >>>> >> >>>> >> -- >>>> >> Best regards, >>>> >> Alexei Kuznetsov