b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

tls pjsua app 分析 pjsua(2)

电脑杂谈  发布时间:2018-02-09 00:05:23  来源:网络整理

接下来分析pjsua_app 的app_init(),里面代码有很多,所以分了类,一条一条分析

static pj_status_t app_init(){
    /** Create pjsua **/
    /* Create pool for application */
    /* Init CLI & its FE settings */
    /** Parse args **/
    /* Initialize application callbacks */
    /* Set sound device latency */
    /* Initialize pjsua */
    /* Initialize our module to handle otherwise unhandled request */
    /* Initialize calls data */
    /* Optionally registers WAV file */
    /* Optionally registers tone players */
    /* Optionally create recorder file, if any. */
    /* Create ringback tones */
    /* Create AVI player virtual devices */
    /* Add UDP transport unless it's disabled. */
    /* Add UDP IPv6 transport unless it's disabled. */
    /* Add TCP transport unless it's disabled */
    /* Add local account */
    /* Adjust local account config based on pjsua app config */
    /* Add TCP IPv6 transport unless it's disabled. */
    /* Add accounts */
    /* Add buddies */
    /* Optionally disable some codec */
    /* Optionally set codec orders */
    /* Use null sound device? */
    /* Init call setting */
    on_error:
        pj_pool_release(tmp_pool);
        app_destroy();
        return status;

}

pjsua_app

第一个是Create pjsua 调用pjsua_lib 的 pjsua_core

    status = pjsua_create();
//Instantiate pjsua application.

PJ_DEF(pj_status_t) pjsua_create(void){
    /* Init pjsua data */
    init_data();
    /* Set default logging settings */
    pjsua_logging_config_default(&pjsua_var.log_cfg);
    /* Init PJLIB: */
    status = pj_init();
    pj_log_push_indent();
    /* Init random seed */
    init_random_seed();
    /* Init PJLIB-UTIL: */
    status = pjlib_util_init();
    /* Init PJNATH */
    status = pjnath_init();
    /* Set default sound device ID */
    pjsua_var.cap_dev = PJMEDIA_AUD_DEFAULT_CAPTURE_DEV;
    pjsua_var.play_dev = PJMEDIA_AUD_DEFAULT_PLAYBACK_DEV;
    /* Set default video device ID */
    pjsua_var.vcap_dev = PJMEDIA_VID_DEFAULT_CAPTURE_DEV;
    pjsua_var.vrdr_dev = PJMEDIA_VID_DEFAULT_RENDER_DEV;
    /* Init caching pool. */
    pj_caching_pool_init(&pjsua_var.cp, NULL, 0);
    /* Create memory pool for application. */
    pjsua_var.pool = pjsua_pool_create("pjsua", 1000, 1000);
    /* Create mutex */
    status = pj_mutex_create_recursive(pjsua_var.pool, "pjsua", &pjsua_var.mutex);
    /* Must create SIP endpoint to initialize SIP parser. The parser
     * is needed for example when application needs to call pjsua_verify_url().
     */
    status = pjsip_endpt_create(&pjsua_var.cp.factory, pj_gethostname()->ptr, &pjsua_var.endpt);
    /* Init timer entry list */
    pj_list_init(&pjsua_var.timer_list);
    /* Create timer mutex */
    status = pj_mutex_create_recursive(pjsua_var.pool, "pjsua_timer", &pjsua_var.timer_mutex);
    pjsua_set_state(PJSUA_STATE_CREATED);
    pj_log_pop_indent();
    return PJ_SUCCESS;
}


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-67841-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...