Как получить видео окно от звонка на стороне звонящего в iOS? - PullRequest
0 голосов
/ 01 июля 2019

enter image description here Я пытаюсь сделать видеовызовы функциональными с помощью pjsip.Я использую демонстрационное приложение vialerSipLib для этого.

Вот сценарий, который я пробую.

Вызов с телефона A на телефон B.Аудио работает как для входящих, так и для исходящих звонков.Но проблема в том, что видео работает на телефоне B (ReceiverSide), но я не могу получить видео на телефоне A (CallerSide).Вот моя учетная запись для видео звонка.

Я использую кодек H264 для видео звонка.

acc_cfg.vid_in_auto_show = PJ_TRUE;
acc_cfg.vid_out_auto_transmit = PJ_TRUE;

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 = 300;
acc_cfg.reg_first_retry_interval = 30;

Вот как я получаю окно видео с помощью callid.Там появилось черное окно.Или есть какой-нибудь способ проверить, есть ли в массиве ci.media верное видео?

- (void) displayWindowWithVoid: (UIView *) parent call:(VSLCall *)call {

int vid_idx;
pjsua_vid_win_id wid;

vid_idx = pjsua_call_get_vid_stream_idx((int)call.callId);
if (vid_idx >= 0) {
    pjsua_call_info ci;

    pjsua_call_get_info((int)call.callId, &ci);
    wid = ci.media[vid_idx].stream.vid.win_in;

    ci.setting.vid_cnt = 1;

    pjsua_vid_win_info wi;
    if (pjsua_vid_win_get_info(wid, &wi) == PJ_SUCCESS) {

        pjsua_vid_win_set_show(wid, true);
        UIView *view = (__bridge UIView *)wi.hwnd.info.ios.window;
         [parent addSubview:view];
    }
}   }

Если кто-нибудь может сказать мне клиент для видеовызова, чтобы я мог проверить поведение.Либо это проблема на стороне приложения или на стороне сервера.Любая помощь или предложение будут высоко оценены.

...