[pjsip] pjsua: audio bursting

Nanang Izzuddin nanang at pjsip.org
Fri Dec 4 15:56:08 CST 2009


Hi Peter,

Please check troubleshooting sound problems on wiki [1].

Such problem could be triggered by high-burst or clock-drift in audio
device, which is usually caused by CPU load/spikes. This pjsystest
tool may be able to help examining audio device behaviour [2].

---
[1] http://trac.pjsip.org/repos/wiki/sound-problems
[2] http://trac.pjsip.org/repos/wiki/Testing_Audio_Device_with_pjsystest
---

BR,
nanang


On Fri, Nov 27, 2009 at 5:35 PM, Peter Lukac <p.lukac at emtest.sk> wrote:
> hello again :)
> Can me somebody explain what does mean these logs?
>
> 233 samples reduced, buf_cnt=877
> JB shrinking 1 frame(s), cur size=32
> jb updated(1), prefetch=12, size=33
> Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>
> -------------------------------------------------------------
> 233 samples reduced, buf_cnt=877
> -------------------------------------------------------------
> this log is generate with function
>
> /* This function will erase samples from delay buffer.
>  * The number of erased samples is guaranteed to be >= erase_cnt.
>  */
> static void shrink_buffer(pjmedia_delay_buf *b, unsigned erase_cnt)
>
> why is sample erase from buffer..buffer is too smal? or write stream is bigger
> than read stream?
>
> -------------------------------------------------------------
> Master/sound  Underflow, buf_cnt=0, will generate 1 frame
> -------------------------------------------------------------
> And what is this.. No data in "sound buffer"? If yes...why?
>
> I have problem with audio... i using sample application pjsua.. but when i
> calling i hear bursting...
>
> when i compile with empty config_site.h config and run pjsua as:
>
> ./pjsua-arm-unknown-linux-gnu --id sip:pc3 at 192.168.32.123 --registrar
> sip:192.168.32.123 --realm asterisk --username pc3 --password heslo  --auto-
> answer 200 --app-log-level=5 --playback-dev=1 --clock-rate=8000 --snd-clock-
> rate=8000  --play-file ./samples/test8000.wav --no-vad
>
> i get lot of these logs:
>
> 10:15:30.879   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:30.901     ec0x2581d0  50 samples reduced, buf_cnt=930
>  10:15:30.905   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:30.909   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:30.921     ec0x2581d0  166 samples reduced, buf_cnt=924
>  10:15:30.933     ec0x2581d0  143 samples reduced, buf_cnt=941
>  10:15:30.963   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:30.969   strm0x27baec  jb updated(1), prefetch=23, size=39
>  10:15:30.976     ec0x2581d0  266 samples reduced, buf_cnt=835
>  10:15:30.993   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:31.004     ec0x2581d0  46 samples reduced, buf_cnt=949
>  10:15:31.007   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:31.016   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:31.027     ec0x2581d0  245 samples reduced, buf_cnt=864
>  10:15:31.030   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:31.047     ec0x2581d0  77 samples reduced, buf_cnt=947
>  10:15:31.055     ec0x2581d0  162 samples reduced, buf_cnt=945
>  10:15:31.083   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:31.104     ec0x2581d0  293 samples reduced, buf_cnt=812
>  10:15:31.107   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:31.115     ec0x2581d0  49 samples reduced, buf_cnt=923
>  10:15:31.120   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:31.141     ec0x2581d0  145 samples reduced, buf_cnt=938
>  10:15:31.153   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:31.166     ec0x2581d0  231 samples reduced, buf_cnt=867
>  10:15:31.183   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:31.194     ec0x2581d0  97 samples reduced, buf_cnt=930
>  10:15:31.200   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:31.218     ec0x2581d0  188 samples reduced, buf_cnt=902
>  10:15:31.228   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>  10:15:31.260     ec0x2581d0  108 samples reduced, buf_cnt=954
>  10:15:31.263   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
>
>
> but when i run with paramter
>
> --ec-tail=0
>
> i get these logs:
>
> 10:19:01.011   strm0x26774c  JB shrinking 1 frame(s), cur size=41
>  10:19:01.211   strm0x26774c  JB shrinking 1 frame(s), cur size=38
>  10:19:01.411   strm0x26774c  JB shrinking 1 frame(s), cur size=37
>  10:19:01.611   strm0x26774c  JB shrinking 1 frame(s), cur size=38
>  10:19:01.811   strm0x26774c  JB shrinking 1 frame(s), cur size=37
>  10:19:02.011   strm0x26774c  JB shrinking 1 frame(s), cur size=34
>  10:19:02.214   strm0x26774c  JB shrinking 1 frame(s), cur size=34
>  10:19:02.438   strm0x26774c  JB shrinking 1 frame(s), cur size=34
>  10:19:02.663   strm0x26774c  JB shrinking 1 frame(s), cur size=34
>  10:19:03.333   strm0x26774c  JB shrinking 1 frame(s), cur size=34
>  10:19:03.353   Master/sound  Underflow, buf_cnt=44, will generate 1 frame
>  10:19:03.661   strm0x26774c  JB shrinking 1 frame(s), cur size=34
>  10:19:03.668   Master/sound  172 samples reduced, buf_cnt=672
>  10:19:04.196   strm0x26774c  JB shrinking 1 frame(s), cur size=34
>  10:19:04.311   strm0x26774c  jb updated(2), prefetch=22, size=48
>  10:19:04.684   strm0x26774c  JB shrinking 1 frame(s), cur size=44
>  10:19:04.691   Master/sound  92 samples reduced, buf_cnt=740
>  10:19:04.729   Master/sound  164 samples reduced, buf_cnt=736
>  10:19:04.767   Master/sound  235 samples reduced, buf_cnt=661
>  10:19:04.797   Master/sound  37 samples reduced, buf_cnt=784
>  10:19:04.818   Master/sound  161 samples reduced, buf_cnt=783
>  10:19:04.831   Master/sound  160 samples reduced, buf_cnt=783
>  10:19:04.839   Master/sound  273 samples reduced, buf_cnt=670
>  10:19:04.847   Master/sound  128 samples reduced, buf_cnt=702
>  10:19:04.935   Master/sound  189 samples reduced, buf_cnt=673
>  10:19:04.943   strm0x26774c  jb updated(2), prefetch=32, size=43
>  10:19:08.171   strm0x26774c  jb updated(1), prefetch=31, size=45
>  10:19:11.411   strm0x26774c  jb updated(1), prefetch=22, size=45
>  10:19:11.413   strm0x26774c  JB shrinking 1 frame(s), cur size=44
>  10:19:11.622   strm0x26774c  JB shrinking 1 frame(s), cur size=44
>  10:19:12.653   strm0x26774c  JB shrinking 1 frame(s), cur size=44
>  10:19:12.795   Master/sound  170 samples reduced, buf_cnt=663
>  10:19:12.814   Master/sound  131 samples reduced, buf_cnt=692
>  10:19:12.827   Master/sound  103 samples reduced, buf_cnt=749
>  10:19:12.857   Master/sound  200 samples reduced, buf_cnt=709
>  10:19:12.898   Master/sound  174 samples reduced, buf_cnt=695
>  10:19:12.928   Master/sound  187 samples reduced, buf_cnt=668
>  10:19:12.902   strm0x26774c  JB shrinking 1 frame(s), cur size=44
>  10:19:12.983   strm0x26774c  jb updated(2), prefetch=26, size=39
>  10:19:13.602    pjsua_acc.c  Sending 2 bytes keep-alive packet for acc 2 to
> 192.168.32.123:5060
>  10:19:13.608   tdta0x25f0f0  Destroying txdata raw
>  10:19:13.636   Master/sound  76 samples reduced, buf_cnt=752
>
>
> when i compile project with config_site.h
>
> #define PJMEDIA_CONF_USE_SWITCH_BOARD     1.
> #define PJMEDIA_WSOLA_IMP   PJMEDIA_WSOLA_IMP_WSOLA_LITE
>
> Is it better. (sound bursting sometimes ..i think when  JB shrinking log is
> occured )
>
> and i get lot of logs like this:
>
>
> without --ec-tail=0
>
>  11:21:43.271   strm0x27bfc4  JB shrinking 1 frame(s), cur size=29
>  11:21:43.274     ec0x250268  239 samples reduced, buf_cnt=826
>  11:21:43.293     ec0x250268  104 samples reduced, buf_cnt=882
>  11:21:43.313     ec0x250268  162 samples reduced, buf_cnt=880
>  11:21:43.332     ec0x250268  156 samples reduced, buf_cnt=884
>  11:21:43.353     ec0x250268  188 samples reduced, buf_cnt=856
>  11:21:43.384     ec0x250268  83 samples reduced, buf_cnt=933
>  11:21:43.394     ec0x250268  164 samples reduced, buf_cnt=929
>  11:21:43.422     ec0x250268  202 samples reduced, buf_cnt=887
>  11:21:43.444     ec0x250268  99 samples reduced, buf_cnt=948
>  11:21:43.464     ec0x250268  265 samples reduced, buf_cnt=843
>  11:21:43.479   strm0x27bfc4  JB shrinking 1 frame(s), cur size=30
>  11:21:43.482     ec0x250268  122 samples reduced, buf_cnt=881
>  11:21:43.534     ec0x250268  99 samples reduced, buf_cnt=942
>  11:21:43.544     ec0x250268  244 samples reduced, buf_cnt=858
>  11:21:43.554     ec0x250268  115 samples reduced, buf_cnt=903
>  11:21:43.569     ec0x250268  248 samples reduced, buf_cnt=815
>  11:21:43.633     ec0x250268  106 samples reduced, buf_cnt=869
>  11:21:43.636     ec0x250268  176 samples reduced, buf_cnt=853
>  11:21:43.640     ec0x250268  151 samples reduced, buf_cnt=862
>  11:21:43.671   strm0x27bfc4  JB shrinking 1 frame(s), cur size=29
>
>
> with --ec-tail=0
>
> 09:42:49.105     ec0x256b70  215 samples reduced, buf_cnt=801
>  09:42:49.120   strm0x27bdc4  JB shrinking 1 frame(s), cur size=33
>  09:42:49.126     ec0x256b70  11 samples reduced, buf_cnt=950
>  09:42:49.164     ec0x256b70  233 samples reduced, buf_cnt=877
>  09:42:49.184     ec0x256b70  212 samples reduced, buf_cnt=825
>  09:42:49.224     ec0x256b70  148 samples reduced, buf_cnt=837
>  09:42:49.244     ec0x256b70  128 samples reduced, buf_cnt=869
>  09:42:49.284     ec0x256b70  212 samples reduced, buf_cnt=817
>  09:42:49.305     ec0x256b70  60 samples reduced, buf_cnt=917
>  09:42:49.320   strm0x27bdc4  JB shrinking 1 frame(s), cur size=32
>  09:42:49.344     ec0x256b70  214 samples reduced, buf_cnt=863
>
>
>>>> cl
> Conference ports:
> Port #00[ 8KHz/20ms/1]   UCB1400:  (hw:0,0)  transmitting to:
> Port #01[ 8KHz/20ms/1] ./samples/test8000.wav  transmitting to: #0
> Port #02[ 8KHz/20ms/1]             ringback  transmitting to:
> Port #03[ 8KHz/20ms/1]                 ring  transmitting to:
>
> when i run sound localy as
> cc 1 0
>
> without --ec-tail=0
>
> sound bursting sometimes
>
> i get these logs:
>
> 11:04:54.954     ec0x24d890  240 samples reduced, buf_cnt=842
>  11:04:54.974     ec0x24d890  144 samples reduced, buf_cnt=858
>  11:04:54.994     ec0x24d890  145 samples reduced, buf_cnt=873
>  11:04:55.034     ec0x24d890  144 samples reduced, buf_cnt=889
>  11:04:55.074     ec0x24d890  145 samples reduced, buf_cnt=904
>  11:04:55.114     ec0x24d890  145 samples reduced, buf_cnt=919
>  11:04:55.134     ec0x24d890  144 samples reduced, buf_cnt=935
>  11:04:55.154     ec0x24d890  289 samples reduced, buf_cnt=806
> c 11:04:55.245     ec0x24d890  142 samples reduced, buf_cnt=824
>  11:04:55.252     ec0x24d890  144 samples reduced, buf_cnt=840
> d 11:04:55.347     ec0x24d890  97 samples reduced, buf_cnt=903
>  11:04:55.368     ec0x24d890  145 samples reduced, buf_cnt=918
>  11:04:55.387     ec0x24d890  145 samples reduced, buf_cnt=933
>  11:04:55.407     ec0x24d890  289 samples reduced, buf_cnt=804
>  11:04:55.447     ec0x24d890  145 samples reduced, buf_cnt=819
>  11:04:55.529     ec0x24d890  144 samples reduced, buf_cnt=835
>  11:04:55.556     ec0x24d890  145 samples reduced, buf_cnt=850
>
>  11:04:57.875       pa_dev.c  Done, status=0
>  11:04:57.877       pa_dev.c  Closing UCB1400:  (hw:0,0): 87 underflow, 639
> overflow
>
>
> with --ec-tail=0
> all work fine.. but:
> Closing UCB1400:  (hw:0,0): 1 underflow, 6 overflow :)
>
>
> Can me somebody help where the potential problem is?
>
> Is it ARM processor and CPU load is cca 80%
>
>
>
> thanks
>
>
>
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>



More information about the pjsip mailing list