Early media video

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I want to implement a sip client that sends early media (unidirectional
video only), and once the call is established, sends video and audio but
receives audio only.  The idea is to implement a doorbell with video.

It's mostly working, except for early media, and I haven't been able to
find any sample code for this.

I thought I was supposed to do it in the on_call_state() callback:

static void on_call_state(pjsua_call_id call_id, pjsip_event *e) {
    pjsua_call_info ci;
    pjsua_call_get_info(call_id, &ci);

    if (ci.state == PJSIP_INV_STATE_EARLY) {
        pjsua_call_vid_strm_op_param param;
        pjsua_call_vid_strm_op_param_default(&param);
        param.dir = PJMEDIA_DIR_ENCODING; /* send video only */
        param.cap_dev = video_device_id;  /* video_device_id set
somewhere else */

        pjsua_conf_connect(ci.conf_slot, pjsua_call_get_conf_port(call_id));

        unsigned i;
        for (i = 0; i < ci.media_cnt; i++) {
            if (ci.media[i].type == PJMEDIA_TYPE_VIDEO) {
                pj_status_t status;
                param.med_idx = i;
                pjsua_call_set_vid_strm(call_id,
PJSUA_CALL_VID_STRM_START_TRANSMIT, &param);
            }
        }
    }
}

But when ci.state == PJSIP_INV_STATE_EARLY, ci.media_cnt == 0.

Any ideas or examples?


_______________________________________________
Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@xxxxxxxxxxxxxxx
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org




[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux