pjsip / pjproject

PJSIP project
http://www.pjsip.org
GNU General Public License v2.0
2.04k stars 774 forks source link

Master/sound Underflow, buf_cnt=308, will generate 1 frame, help me !! #2942

Closed tjyuanxi closed 2 years ago

tjyuanxi commented 2 years ago

Describe the bug

I use pjsip on arm-linux. There is something wrong, but i donot know how to resolver.

Steps to reproduce

I just receive a call, the video ok, but audio not ok . I use alsa application , aplay and arecord ok. But pjsio is not ok. This is my test by systest,below. image

PJSIP version

2.11.1

Context

this is my config_site.h

define PJMEDIA_HAS_VIDEO 1

define PJMEDIA_VIDEO_DEV_HAS_DSHOW 0

define PJMEDIA_VIDEO_DEV_HAS_SDL 1

define PJMEDIA_VIDEO_DEV_HAS_SIGMASTAR 1

define PJMEDIA_HAS_FFMPEG 0

define PJMEDIA_HAS_BCG729 1

define PJ_HAS_SSL_SOCK 0

define PJMEDIA_HAS_G7221_CODEC 0

define PJMEDIA_HAS_L16_CODEC 0

define PJMEDIA_HAS_SPEEX_CODEC 0

define PJMEDIA_HAS_ILBC_CODEC 0

define PJMEDIA_HAS_G722_CODEC 0

define PJMEDIA_HAS_GSM_CODEC 0

define PJMEDIA_HAS_VPX_CODEC 0

define PJMEDIA_HAS_VPX_CODEC_VP9 0

define PJMEDIA_HAS_WEBRTC_AEC 0

define PJMEDIA_AUDIO_DEV_HAS_ALSA 1

define PJMEDIA_HAS_OPENH264_CODEC 1

Log, call stack, etc

02:24:52.275 vstenc0xb3a1f4  .......Encoder stream paused
02:24:52.275  pjsua_media.c  ......Video updated, stream #1: H264 (sendrecv)
02:24:52.275 pjsua2_ddapi.c  .....onCallMediaState.id:0, role:1, remote_info:<sip:26371290@192.168.31.130>, remote_contact:<sip:26371290@192.168.31.130:5060;ob>
02:24:52.275 pjsua2_ddapi.c  .....ci.media[0].type:1, status:1
02:24:52.275    pjsua_aud.c  .....Conf connect: 1 --> 0
02:24:52.275    pjsua_aud.c  ......Set sound device: capture=-1, playback=-2
02:24:52.275    pjsua_aud.c  .......Opening sound device (speaker + mic) PCM@16000/1/20ms
02:24:52.430   ec0xb3abe240  ........Echo suppressor created, clock_rate=16000, channel=1, samples per frame=320, tail length=200 ms, latency=100 ms
02:24:52.431   conference.c  ......Port 1 (sip:26371290@192.168.31.130) transmitting to port 0 (default:CARD=Alsa)
02:24:52.431 pjsua2_ddapi.c  .....rx_level:1.000000, tx_level:1.000000, 184
02:24:52.431    pjsua_aud.c  .....Conf connect: 0 --> 1
02:24:52.431   conference.c  ......Port 0 (default:CARD=Alsa) transmitting to port 1 (sip:26371290@192.168.31.130)
02:24:52.431 pjsua2_ddapi.c  .....pjcall_get_remote_acc_info.str_acct:26371290, n_port:5060, str_ip:192.168.31.130, remoteUri:<sip:26371290@192.168.31.130>, remoteContact:<sip:26371290@192.168.31.130:5060;ob>, 196
02:24:52.431 pjsua2_demo.cp  .....onCallState: n_type:1, str_name:26371290, str_ip:192.168.31.130, n_port:5060, n_call_id:0, str_xtran:, 192
02:24:52.431 pjsua2_ddapi.c  .....ci.media[1].type:2, status:1
02:24:52.436 sigmstar_dev.c !PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW error 1143
02:24:52.437 sigmstar_dev.c  PJMEDIA_VID_DEV_CAP_OUTPUT_HIDE error 1160
02:24:52.437 sigmstar_dev.c  PJMEDIA_VID_DEV_CAP_OUTPUT_WINDOW_FLAGS error 1163
02:24:52.437 sigmstar_dev.c  PJMEDIA_VID_DEV_CAP_OUTPUT_FULLSCREEN error 1166
02:24:52.437   Master/sound !Underflow, buf_cnt=0, will generate 1 frame
02:24:52.437 pjsua2_ddapi.c !.....pjcall_get_remote_acc_info.str_acct:26371290, nCapDev:-1, n_port:5060, str_ip:192.168.31.130, remoteUri:<sip:26371290@192.168.31.130>, remoteContact:<sip:26371290@192.168.31.130:5060;ob>, windid:0, 205
02:24:52.437    pjsua_vid.c !.....pjsua_vid_win_set_show:0x5fa8c, 1685
02:24:5[MI WRN ]: MI_AO_IMPL_SendFrame[2620]: Device 0 is empty !
2.437 sigmstar_d[MI_AO_IMPL_SendFrame:2686] Strat pcm out success!!!
ev.c !set_cap:32, 1199
02:24:52.437 sigmstar_dev.c  PJMEDIA_VID_DEV_CAP_OUTPUT_HIDE error 1218
02:24:52.437 pjsua2_demo.cp !.....onVideocomingCall:str_name:26371290, str_ip:192.168.31.130, port:5060, 204
02:24:52.438 strm0xb3a1a63c !Resetting jitter buffer in stream playback start
02:24:52.771   pjsua_core.c !......TX 1214 bytes Response msg 200/INVITE/cseq=982 (tdta0xb3a18754) to UDP 192.168.31.130:5060:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.31.130:5060;rport=5060;received=192.168.31.130;branch=z9hG4bKPj14963630b8cc47e28b9b8ecc4c5621b7
Call-ID: 68dfbf87c68745b98e42daa27abb1964
From: <sip:26371290@192.168.31.130>;tag=9851708f3b574b5a847c282ce9ab7d21
To: <sip:acct@192.168.31.81>;tag=HyEmCj1IZXN94UyVlVN7gm9YVqVQrSXq
CSeq: 982 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Contact: <sip:acct@192.168.31.81:5060>
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800;refresher=uac
Require: timer
Content-Type: application/sdp
Content-Length:   579

v=0
o=- 2208997491 2208997492 IN IP4 192.168.31.81
s=pjmedia
b=AS:1159
t=0 0
a=X-nat:0
m=audio 4000 RTP/AVP 18 120
c=IN IP4 192.168.31.81
b=TIAS:64000
a=rtcp:4001 IN IP4 192.168.31.81
a=sendrecv
a=rtpmap:18 G729/8000
a=rtpmap:120 telephone-event/8000
a=fmtp:120 0-16
a=ssrc:1792235968 cname:611c586b3f56476e
m=video 4002 RTP/AVP 97
c=IN IP4 192.168.31.81
b=TIAS:1024000
a=rtcp:4003 IN IP4 192.168.31.81
a=sendrecv
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42e01e; packetization-mode=1
a=ssrc:1585348300 cname:611c586b3f56476e
a=rtcp-fb:* nack pli

--end msg--
02:24:52.772 pjsua2_ddapi.c  .........onCallState.id:0, state:4, role:1, remote_info:<sip:26371290@192.168.31.130>, remote_contact:<sip:26371290@192.168.31.130:5060;ob>, 131
02:24:52.775     alsa_dev.c !pb_thread_func: underrun!
02:24:52.791   Master/sound !Buffer size adjusted from 2230 to 1908 (eff_cnt=1280)
02:24:52.803     alsa_dev.c !pb_thread_func: underrun!
02:24:52.819     alsa_dev.c  pb_thread_func: underrun!
02:24:52.866   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:52.875   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:52.900   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:52.908   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:52.918   ec0xb3abe240  Buffer size adjusted from 1920 to 1441 (eff_cnt=1440)
02:24:52.934   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:52.943   ec0xb3abe240  Buffer size adjusted from 2081 to 1602 (eff_cnt=1440)
02:24:52.951   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:52.960   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:52.979   ec0xb3abe240  Buffer size adjusted from 1921 to 1442 (eff_cnt=1440)
02:24:52.987   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:52.996   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:53.007   ec0xb3abe240  Buffer size adjusted from 2082 to 1603 (eff_cnt=1440)
02:24:53.015   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:53.025   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:53.035   ec0xb3abe240  Buffer size adjusted from 2243 to 1764 (eff_cnt=1440)
02:24:53.043   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:53.047 strm0xb3a1a63c  VAD re-enabled
02:24:53.051   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
02:24:53.061   ec0xb3abe240  Buffer size adjusted from 2084 to 1605 (eff_cnt=1440)
02:24:53.077   Master/sound  Underflow, buf_cnt=308, will generate 1 frame
trengginas commented 2 years ago

Check https://trac.pjsip.org/repos/wiki/FAQ#tx-timing and #2077 regarding sound device timing/drift.

tjyuanxi commented 2 years ago

Thank you

tjyuanxi commented 2 years ago

Check https://trac.pjsip.org/repos/wiki/FAQ#tx-timing and #2077 regarding sound device timing/drift.

Thank you very much. My sip is peer to peer without register! I used "class extraaudiodevice" according to your prompt, but there was another problem: "alsa_dev.c pb_thread_func: underrun! 22:35:14.339 alsa_dev.c ca_threadfunc: overrun! scombdb-dn Underflow, buf cnt=173, will generate 1 frame”。

At the same time, the problem of sound lagging behind video still exists, and I don't know whether the sound lagging behind is related to the video 3S and the log prompt. How can I analyze and solve this problem? I'm very anxious. If you have any offense, please forgive me The screenshot below is a snippet of my code: image Here is my log: 22:00:52.583 alsa_dev.c ...open_capture: buffer size set to: 1600 22:00:52.583 alsa_dev.c ...open_capture: capture_latency set to: 100 ms 22:00:52.710 pjsua_aud.c ...Extra sound device created 22:00:52.711 alsa_dev.c !pb_thread_func(1590): Started 22:00:52.711 alsa_dev.c ca_thread_func(1591): Started 22:00:52.713 pjsua2_ddapi.c !...pjcall_get_remote_acc_info.str_acct:26371290, n_port:5060, str_ip:192.168.31.130, remoteUri:sip:26371290@192.168.31.130, remoteContact:sip:26371290@192.168.31.130:5060;ob, 024bf090426edab2cd38167d30addc58, 378 onCallState:0, 26371290, 192.168.31.130, 5060, 0, 024bf090426edab2cd38167d30addc58 hashkey is DFD2AJDL722400001 { "transaction_id" : "024bf090426edab2cd38167d30addc58" }

4ffa481f0bcf4925b75b53fe80da5794 1483811049 sign is 0b91041c6c44b67b5a0fd0ee35e6b54a eyJhbGciOiJIUzUxMiJ9.eyJ2ZXIiOjMsImNpZCI6IkMyOEZBMTdFM0U2Nzc0MkQ1OUNBOERDQ0MyNkYzMDcyOCIsInRva2VuIjoiN2FmNzY0NDA1ZGM2NzdjYTIxNTAzMmY3YWIxNTY0YjQiLCJpYXQiOjE2NTA3MjI0NTgsImV4cCI6MTY1MDgwODg1OH0.RpW1TvVGWmGgmB1B_k4bRNlvReevTO69_tfJVu6YW4rQqsT8Zh5yyucYleV3cAUs0rQBVTx8OjFxjXoVpjIW8Q 22:00:52.715 alsa_dev.c !pb_thread_func: underrun! 22:00:52.716 alsa_dev.c pb_thread_func: underrun! 22:00:52.716 alsa_dev.c pb_thread_func: underrun! 22:00:52.716 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:52.717 alsa_dev.c pb_thread_func: underrun! 22:00:52.717 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:52.718 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:52.719 alsa_dev.c pb_thread_func: underrun! 22:00:52.719 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:52.719 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:52.721 alsa_dev.c pb_thread_func: underrun! 22:00:52.721 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:52.722 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:52.722 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:52.723 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:52.724 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:52.724 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:52.725 scombdb-up Underflow, buf_cnt=1, will generate 1 frame http retcode:200 nRingingInfo resp {"code":0,"msg":"","memo":"","object":{"sip_host":"10.0.1.213","sip_port":"5060","sip_no":"79656911","sip_pwd":"68916516","is_online":true,"max_duration":90,"device_type":1,"caller_pic":"https://doordustorage.oss-cn-shenzhen.aliyuncs.com/caller/BDD4001610-0955/2021/12/06/fdf2e2f8a94ce3433e4240ddcc39b370.jpg","who_is_that":"浦东一号"}} 22:00:53.060 alsa_dev.c !pb_thread_func: underrun! 22:00:53.061 pjsua_aud.c !...Conf connect: 2 --> 1 22:00:53.061 alsa_dev.c !pb_thread_func: underrun! 22:00:53.061 scombdb-up !Underflow, buf_cnt=1, will generate 1 frame 22:00:53.061 conference.c !....Port 2 (ring) transmitting to port 1 (scomb-rev) 22:00:53.061 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:53.062 alsa_dev.c pb_thread_func: underrun! 22:00:53.062 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:53.063 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:53.063 alsa_dev.c pb_thread_func: underrun! 22:00:53.063 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:53.065 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:53.066 alsa_dev.c pb_thread_func: underrun! ZKCameraView::setPosition left: 0, top: 0, width: 800, height: 600 22:00:53.070 udp0xf1920 !...UDP media transport created 22:00:53.070 scombdb-up !Underflow, buf_cnt=1, will generate 1 frame 22:00:53.070 scombdb-up Underflow, buf_cnt=1, will generate 1 frame 22:00:53.071 udp0xf56e0 !...UDP media transport created 22:00:53.072 scombdb-up !Underflow, buf_cnt=1, will generate 1 frame

22:35:14.269 alsa_dev.c ca_thread_func: overrun! 22:35:14.339 alsa_dev.c ca_thread_func: overrun! 22:35:14.409 alsa_dev.c ca_thread_func: overrun! 22:35:14.479 alsa_dev.c ca_thread_func: overrun! 22:35:14.549 alsa_dev.c ca_thread_func: overrun! 22:35:14.619 alsa_dev.c ca_thread_func: overrun! 22:35:14.689 alsa_dev.c ca_thread_func: overrun! 22:35:14.759 alsa_dev.c ca_thread_func: overrun!