How to fatch local preview video using PJSIP

11 Views Asked by At

I am trying video and audio calls. The audio and video are working well. Remote video view is coming but local view how fatch I am not getting anything.

Local preview means where I can see myself like WhatsApp.

private func on_call_media_state(call_id: pjsua_call_id) {
    var ci = pjsua_call_info();
    pjsua_call_get_info(call_id, &ci);
    for mi in 0...ci.media_cnt {
        let media: [pjsua_call_media_info] = tupleToArray(tuple: ci.media);
        if (media[Int(mi)].status == PJSUA_CALL_MEDIA_ACTIVE ||
            media[Int(mi)].status == PJSUA_CALL_MEDIA_REMOTE_HOLD)
        {
            switch (media[Int(mi)].type) {
                case PJMEDIA_TYPE_AUDIO:
                    var call_conf_slot: pjsua_conf_port_id;
                    call_conf_slot = media[Int(mi)].stream.aud.conf_slot;
                    pjsua_conf_connect(call_conf_slot, 0);
                    pjsua_conf_connect(0, call_conf_slot);
                    break;
                    
                case PJMEDIA_TYPE_VIDEO:
               
                let wid = media[Int(mi)].stream.vid.win_in;
                    var wi = pjsua_vid_win_info();
                    if (pjsua_vid_win_get_info(wid, &wi) == PJ_SUCCESS.rawValue) {
                        let vid_win:UIView =
                        Unmanaged<UIView>.fromOpaque(wi.hwnd.info.ios.window).takeUnretainedValue();
                        DispatchQueue.main.async {
                            vid_win.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi / 2.0))
                            VidInfo.shared.vid_win = vid_win
                        }
                    }
0

There are 0 best solutions below