nesterenkodm / pjsip

PJSIP is Open Source SIP, Media, and NAT Traversal Library
495 stars 220 forks source link

UI API called on a background thread when video call starts #67

Closed charvoa closed 5 years ago

charvoa commented 6 years ago

I'm stuck on this issue since I started implementing the video features. I'm using a simple flow.

Here is the account configuration I use for my endpoint :

    acc_cfg.vid_in_auto_show = PJ_FALSE;
    acc_cfg.vid_out_auto_transmit = PJ_FALSE;
    acc_cfg.vid_wnd_flags = PJMEDIA_VID_DEV_WND_BORDER | PJMEDIA_VID_DEV_WND_RESIZABLE;
    acc_cfg.vid_cap_dev = PJMEDIA_VID_DEFAULT_CAPTURE_DEV;
    acc_cfg.vid_rend_dev = PJMEDIA_VID_DEFAULT_RENDER_DEV;
    acc_cfg.reg_retry_interval = 100;
    acc_cfg.reg_first_retry_interval = 10;

And I am only setting to vid_cnt = 1 in the reinvite method.

My call starts, the video is transmitted to the callee, and I receive the video. But everytime a call is confirmed (the callee answer the call) I got two Main Thread Checker messages :

Main Thread Checker: UI API called on a background thread: -[UIView initWithFrame:]
PID: 29256, TID: 7292045, Thread name: (none), Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Backtrace:
4   APPNAME                          0x0000000101178970 darwin_init_view + 216
5   APPNAME                          0x0000000101177f10 darwin_stream_set_cap + 576
6   APPNAME                          0x00000001011600cc pjmedia_vid_dev_stream_set_cap + 204
7   APPNAME                          0x00000001012346b0 create_vid_win + 1688
8   APPNAME                          0x0000000101233e9c pjsua_vid_channel_update + 1452
9   APPNAME                          0x0000000101223220 pjsua_media_channel_update + 3112
10  APPNAME                          0x000000010120a420 pjsua_call_on_media_update + 372
11  APPNAME                          0x00000001011f12b4 inv_negotiate_sdp + 268
12  APPNAME                          0x00000001011f1018 inv_check_sdp_in_incoming_msg + 1532
13  APPNAME                          0x00000001011f20fc inv_on_state_early + 704
14  APPNAME                          0x00000001011f0900 mod_inv_on_tsx_state + 116
15  APPNAME                          0x00000001011da8f0 pjsip_dlg_on_tsx_state + 244
16  APPNAME                          0x00000001011dcc74 mod_ua_on_tsx_state + 88
17  APPNAME                          0x00000001011d0f58 tsx_set_state + 664
18  APPNAME                          0x00000001011d2bcc tsx_on_state_proceeding_uac + 596
19  APPNAME                          0x00000001011d1748 pjsip_tsx_recv_msg + 232
20  APPNAME                          0x00000001011d21a0 mod_tsx_layer_on_rx_response + 236
21  APPNAME                          0x00000001011b757c pjsip_endpt_process_rx_data + 724
22  APPNAME                          0x00000001011b6a90 endpt_on_rx_msg + 576
23  APPNAME                          0x00000001011c1f0c pjsip_tpmgr_receive_packet + 1872
24  APPNAME                          0x00000001011c4d2c udp_on_read_complete + 272
25  APPNAME                          0x00000001010dbb64 ioqueue_dispatch_read_event + 976
26  APPNAME                          0x00000001010de6a0 pj_ioqueue_poll + 1268
27  APPNAME                          0x00000001011b7078 pjsip_endpt_handle_events2 + 360
28  APPNAME                          0x000000010121824c pjsua_handle_events + 72
29  APPNAME                          0x0000000101217778 worker_thread + 52
30  APPNAME                          0x00000001010e0b18 thread_main + 188
31  libsystem_pthread.dylib             0x0000000181d61220 <redacted> + 272
32  libsystem_pthread.dylib             0x0000000181d61110 <redacted> + 0
33  libsystem_pthread.dylib             0x0000000181d5fb10 thread_start + 4

I looked for a UIView init but I could not find any.

Thanks for your help

welljsjs commented 5 years ago

UI API called on a background thread: -[UIView initWithFrame:]

This seems to be the only issue.