亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? py_pjsua.c

?? 基于sip協(xié)議的網(wǎng)絡(luò)電話源碼
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
    obj->max_media_ports = cfg.max_media_ports;    obj->no_vad = cfg.no_vad;    obj->ptime = cfg.ptime;    obj->quality = cfg.quality;    obj->rx_drop_pct = cfg.rx_drop_pct;    obj->thread_cnt = cfg.thread_cnt;    obj->tx_drop_pct = cfg.tx_drop_pct;    return (PyObject *)obj;}/* * py_pjsua_msg_data_init * !modified @ 051206 */static PyObject *py_pjsua_msg_data_init(PyObject *pSelf, PyObject *pArgs){    msg_data_Object *obj;    pjsua_msg_data msg;        if (!PyArg_ParseTuple(pArgs, ""))    {        return NULL;    }    pjsua_msg_data_init(&msg);    obj = (msg_data_Object *)msg_data_new(&msg_data_Type, NULL, NULL);    Py_XDECREF(obj->content_type);    obj->content_type = PyString_FromStringAndSize(        msg.content_type.ptr, msg.content_type.slen    );    Py_XDECREF(obj->msg_body);    obj->msg_body = PyString_FromStringAndSize(        msg.msg_body.ptr, msg.msg_body.slen    );    translate_hdr_rev((pjsip_generic_string_hdr *)&msg.hdr_list,obj->hdr_list);        return (PyObject *)obj;}/* * py_pjsua_reconfigure_logging */static PyObject *py_pjsua_reconfigure_logging(PyObject *pSelf, PyObject *pArgs){    PyObject * logObj;    logging_config_Object *log;    pjsua_logging_config cfg;    pj_status_t status;    if (!PyArg_ParseTuple(pArgs, "O", &logObj))    {        return NULL;    }    if (logObj != Py_None)     {        log = (logging_config_Object *)logObj;        cfg.msg_logging = log->msg_logging;        cfg.level = log->level;        cfg.console_level = log->console_level;        cfg.decor = log->decor;        cfg.log_filename.ptr = PyString_AsString(log->log_filename);        cfg.log_filename.slen = strlen(cfg.log_filename.ptr);        Py_XDECREF(obj_log_cb);        obj_log_cb = log->cb;        Py_INCREF(obj_log_cb);        cfg.cb = &cb_log_cb;        status = pjsua_reconfigure_logging(&cfg);    } else {        status = pjsua_reconfigure_logging(NULL);    }    return Py_BuildValue("i",status);}/* * py_pjsua_pool_create */static PyObject *py_pjsua_pool_create(PyObject *pSelf, PyObject *pArgs){    pj_size_t init_size;    pj_size_t increment;    const char * name;    pj_pool_t *p;    pj_pool_Object *pool;    if (!PyArg_ParseTuple(pArgs, "sII", &name, &init_size, &increment))    {        return NULL;    }        p = pjsua_pool_create(name, init_size, increment);    pool = (pj_pool_Object *)PyType_GenericNew(&pj_pool_Type, NULL, NULL);    pool->pool = p;    return (PyObject *)pool;}/* * py_pjsua_get_pjsip_endpt */static PyObject *py_pjsua_get_pjsip_endpt(PyObject *pSelf, PyObject *pArgs){    pjsip_endpoint_Object *endpt;    pjsip_endpoint *e;    if (!PyArg_ParseTuple(pArgs, ""))    {        return NULL;    }    e = pjsua_get_pjsip_endpt();    endpt = (pjsip_endpoint_Object *)PyType_GenericNew(        &pjsip_endpoint_Type, NULL, NULL    );    endpt->endpt = e;    return (PyObject *)endpt;}/* * py_pjsua_get_pjmedia_endpt */static PyObject *py_pjsua_get_pjmedia_endpt(PyObject *pSelf, PyObject *pArgs){    pjmedia_endpt_Object *endpt;    pjmedia_endpt *e;    if (!PyArg_ParseTuple(pArgs, ""))    {        return NULL;    }    e = pjsua_get_pjmedia_endpt();    endpt = (pjmedia_endpt_Object *)PyType_GenericNew(        &pjmedia_endpt_Type, NULL, NULL    );    endpt->endpt = e;    return (PyObject *)endpt;}/* * py_pjsua_get_pool_factory */static PyObject *py_pjsua_get_pool_factory(PyObject *pSelf, PyObject *pArgs){    pj_pool_factory_Object *pool;    pj_pool_factory *p;    if (!PyArg_ParseTuple(pArgs, ""))    {        return NULL;    }    p = pjsua_get_pool_factory();    pool = (pj_pool_factory_Object *)PyType_GenericNew(        &pj_pool_factory_Type, NULL, NULL    );    pool->pool_fact = p;    return (PyObject *)pool;}/* * py_pjsua_perror */static PyObject *py_pjsua_perror(PyObject *pSelf, PyObject *pArgs){    const char *sender;    const char *title;    pj_status_t status;    if (!PyArg_ParseTuple(pArgs, "ssi", &sender, &title, &status))    {        return NULL;    }	    pjsua_perror(sender, title, status);    Py_INCREF(Py_None);    return Py_None;}/* * py_pjsua_create */static PyObject *py_pjsua_create(PyObject *pSelf, PyObject *pArgs){    pj_status_t status;    if (!PyArg_ParseTuple(pArgs, ""))    {        return NULL;    }    status = pjsua_create();        if (status == PJ_SUCCESS)     {	status = pj_thread_local_alloc(&thread_id);	if (status == PJ_SUCCESS)	    status = pj_thread_local_set(thread_id, (void*)1);    }    return Py_BuildValue("i",status);}/* * py_pjsua_init */static PyObject *py_pjsua_init(PyObject *pSelf, PyObject *pArgs){    pj_status_t status;    PyObject * ua_cfgObj;    config_Object * ua_cfg;    PyObject * log_cfgObj;    logging_config_Object * log_cfg;    PyObject * media_cfgObj;    media_config_Object * media_cfg;    pjsua_config cfg_ua;    pjsua_config * p_cfg_ua;    pjsua_logging_config cfg_log;    pjsua_logging_config * p_cfg_log;    pjsua_media_config cfg_media;    pjsua_media_config * p_cfg_media;    unsigned i;    if (!PyArg_ParseTuple(pArgs, "OOO", &ua_cfgObj, &log_cfgObj,&media_cfgObj))    {        return NULL;    }        pjsua_config_default(&cfg_ua);    pjsua_logging_config_default(&cfg_log);    pjsua_media_config_default(&cfg_media);    if (ua_cfgObj != Py_None)     {	ua_cfg = (config_Object *)ua_cfgObj;        cfg_ua.cred_count = ua_cfg->cred_count;        for (i = 0; i < 4; i++)	{            cfg_ua.cred_info[i] = ua_cfg->cred_info[i];	}        cfg_ua.max_calls = ua_cfg->max_calls;        for (i = 0; i < PJSUA_ACC_MAX_PROXIES; i++)	{            cfg_ua.outbound_proxy[i] = ua_cfg->outbound_proxy[i];	}    	g_obj_callback = ua_cfg->cb;    	Py_INCREF(g_obj_callback);    	cfg_ua.cb.on_call_state = &cb_on_call_state;    	cfg_ua.cb.on_incoming_call = &cb_on_incoming_call;    	cfg_ua.cb.on_call_media_state = &cb_on_call_media_state;    	cfg_ua.cb.on_call_transfer_request = &cb_on_call_transfer_request;    	cfg_ua.cb.on_call_transfer_status = &cb_on_call_transfer_status;    	cfg_ua.cb.on_call_replace_request = &cb_on_call_replace_request;    	cfg_ua.cb.on_call_replaced = &cb_on_call_replaced;    	cfg_ua.cb.on_reg_state = &cb_on_reg_state;    	cfg_ua.cb.on_buddy_state = &cb_on_buddy_state;    	cfg_ua.cb.on_pager = &cb_on_pager;    	cfg_ua.cb.on_pager_status = &cb_on_pager_status;    	cfg_ua.cb.on_typing = &cb_on_typing;        cfg_ua.outbound_proxy_cnt = ua_cfg->outbound_proxy_cnt;        cfg_ua.thread_cnt = ua_cfg->thread_cnt;        cfg_ua.user_agent.ptr = PyString_AsString(ua_cfg->user_agent);        cfg_ua.user_agent.slen = strlen(cfg_ua.user_agent.ptr);        p_cfg_ua = &cfg_ua;    } else {        p_cfg_ua = NULL;    }    if (log_cfgObj != Py_None)     {        log_cfg = (logging_config_Object *)log_cfgObj;        cfg_log.msg_logging = log_cfg->msg_logging;        cfg_log.level = log_cfg->level;        cfg_log.console_level = log_cfg->console_level;        cfg_log.decor = log_cfg->decor;        cfg_log.log_filename.ptr = PyString_AsString(log_cfg->log_filename);        cfg_log.log_filename.slen = strlen(cfg_log.log_filename.ptr);        Py_XDECREF(obj_log_cb);        obj_log_cb = log_cfg->cb;        Py_INCREF(obj_log_cb);        cfg_log.cb = &cb_log_cb;        p_cfg_log = &cfg_log;    } else {        p_cfg_log = NULL;    }    if (media_cfgObj != Py_None)     {        media_cfg = (media_config_Object *)media_cfgObj;        cfg_media.clock_rate = media_cfg->clock_rate;        cfg_media.ec_options = media_cfg->ec_options;        cfg_media.ec_tail_len = media_cfg->ec_tail_len;        cfg_media.has_ioqueue = media_cfg->has_ioqueue;        cfg_media.ilbc_mode = media_cfg->ilbc_mode;        cfg_media.max_media_ports = media_cfg->max_media_ports;        cfg_media.no_vad = media_cfg->no_vad;        cfg_media.ptime = media_cfg->ptime;        cfg_media.quality = media_cfg->quality;        cfg_media.rx_drop_pct = media_cfg->rx_drop_pct;        cfg_media.thread_cnt = media_cfg->thread_cnt;        cfg_media.tx_drop_pct = media_cfg->tx_drop_pct;	    p_cfg_media = &cfg_media;    } else {        p_cfg_media = NULL;    }    status = pjsua_init(p_cfg_ua, p_cfg_log, p_cfg_media);    return Py_BuildValue("i",status);}/* * py_pjsua_start */static PyObject *py_pjsua_start(PyObject *pSelf, PyObject *pArgs){    pj_status_t status;    if (!PyArg_ParseTuple(pArgs, ""))    {        return NULL;    }    status = pjsua_start();        return Py_BuildValue("i",status);}/* * py_pjsua_destroy */static PyObject *py_pjsua_destroy(PyObject *pSelf, PyObject *pArgs){    pj_status_t status;    if (!PyArg_ParseTuple(pArgs, ""))    {        return NULL;    }    status = pjsua_destroy();        return Py_BuildValue("i",status);}/* * py_pjsua_handle_events */static PyObject *py_pjsua_handle_events(PyObject *pSelf, PyObject *pArgs){    int ret;    unsigned msec;    if (!PyArg_ParseTuple(pArgs, "i", &msec))    {        return NULL;    }    /* Since handle_events() will block, we must wrap it with ALLOW_THREADS     * construct, or otherwise many Python blocking functions (such as     * time.sleep(), readline(), etc.) may hang/block indefinitely.     * See http://www.python.org/doc/current/api/threads.html for more info.     */    Py_BEGIN_ALLOW_THREADS    ret = pjsua_handle_events(msec);    Py_END_ALLOW_THREADS        return Py_BuildValue("i",ret);}/* * py_pjsua_verify_sip_url */static PyObject *py_pjsua_verify_sip_url(PyObject *pSelf, PyObject *pArgs){    pj_status_t status;    const char *url;    if (!PyArg_ParseTuple(pArgs, "s", &url))    {        return NULL;    }    status = pjsua_verify_sip_url(url);        return Py_BuildValue("i",status);}/* * function doc */static char pjsua_thread_register_doc[] =    "int py_pjsua.thread_register(string name, int[] desc)";static char pjsua_perror_doc[] =    "void py_pjsua.perror (string sender, string title, int status) "    "Display error message for the specified error code. Parameters: "    "sender: The log sender field;  "    "title: Message title for the error; "    "status: Status code.";static char pjsua_create_doc[] =    "int py_pjsua.create (void) "    "Instantiate pjsua application. Application "    "must call this function before calling any other functions, to make sure "    "that the underlying libraries are properly initialized. Once this "    "function has returned success, application must call pjsua_destroy() "    "before quitting.";static char pjsua_init_doc[] =    "int py_pjsua.init (py_pjsua.Config ua_cfg, "        "py_pjsua.Logging_Config log_cfg, py_pjsua.Media_Config media_cfg) "    "Initialize pjsua with the specified settings. All the settings are "    "optional, and the default values will be used when the config is not "    "specified. Parameters: "    "ua_cfg : User agent configuration;  "    "log_cfg : Optional logging configuration; "    "media_cfg : Optional media configuration.";static char pjsua_start_doc[] =    "int py_pjsua.start (void) "    "Application is recommended to call this function after all "    "initialization is done, so that the library can do additional checking "    "set up additional";static char pjsua_destroy_doc[] =    "int py_pjsua.destroy (void) "    "Destroy pjsua This function must be called once PJSUA is created. To "    "make it easier for application, application may call this function "    "several times with no danger.";static char pjsua_handle_events_doc[] =    "int py_pjsua.handle_events (int msec_timeout) "    "Poll pjsua for events, and if necessary block the caller thread for the "    "specified maximum interval (in miliseconds) Parameters: "    "msec_timeout: Maximum time to wait, in miliseconds. "    "Returns: The number of events that have been handled during the poll. "    "Negative value indicates error, and application can retrieve the error "    "as (err = -return_value).";static char pjsua_verify_sip_url_doc[] =    "int py_pjsua.verify_sip_url (string c_url) "    "Verify that valid SIP url is given Parameters: "    "c_url: The URL, as NULL terminated string.";static char pjsua_pool_create_doc[] =    "py_pjsua.PJ_Pool py_pjsua.pool_create (string name, int init_size, "                                            "int increment) "    "Create memory pool Parameters: "    "name: Optional pool name; "    "init_size: Initial size of the pool;  "    "increment: Increment size.";static char pjsua_get_pjsip_endpt_doc[] =    "py_pjsua.PJSIP_Endpoint py_pjsua.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲综合一区| 丝袜脚交一区二区| 99免费精品视频| 国产精品高潮久久久久无| www.色精品| 夜夜精品视频一区二区| 欧美日韩激情一区二区| 另类小说图片综合网| 久久女同性恋中文字幕| 99精品视频在线免费观看| 亚洲精品国产无套在线观| 欧美日韩小视频| 国产精品一级二级三级| 中文字幕在线一区| 欧美日韩三级一区| 国产一区二区三区综合| 成人欧美一区二区三区| 在线播放视频一区| 国产成人自拍在线| 午夜久久久久久久久久一区二区| xnxx国产精品| 欧美乱熟臀69xxxxxx| 久久99精品国产麻豆婷婷| 中文字幕一区二区三区精华液 | 色诱视频网站一区| 日韩国产精品91| 国产女主播一区| 欧美日韩精品电影| 波多野结衣一区二区三区| 亚洲二区在线视频| 久久精品一区二区三区四区| 色婷婷av一区| 国产成人av电影在线| 亚洲成a人v欧美综合天堂下载 | 精品视频一区 二区 三区| 久久超级碰视频| 一区二区三区四区亚洲| 欧美岛国在线观看| 91国内精品野花午夜精品| 国产一区二区视频在线| 天堂资源在线中文精品| 综合久久国产九一剧情麻豆| 欧美成人激情免费网| 欧美色偷偷大香| 白白色 亚洲乱淫| 激情深爱一区二区| 日韩高清一区在线| 一区二区三区成人| 国产欧美综合在线观看第十页| 91精品久久久久久蜜臀| 一本到一区二区三区| 国产成人精品一区二区三区四区| 日韩高清不卡一区| 亚洲r级在线视频| 亚洲欧美日韩在线| 欧美高清在线视频| 久久品道一品道久久精品| 日韩一区二区三免费高清| 91福利在线导航| 在线视频你懂得一区| 成人黄色777网| 成人综合激情网| 国产高清久久久| 国产精品1024| 国产高清精品在线| 国产精品亚洲人在线观看| 捆绑调教美女网站视频一区| 日本女优在线视频一区二区| 色综合久久中文综合久久97| 国产欧美精品一区二区色综合朱莉| 一区二区三区欧美久久| 欧美高清在线精品一区| 国产午夜三级一区二区三| 精品av久久707| 欧美精品一区二区三区四区| 91精品国产欧美一区二区| 欧美在线观看视频在线| 欧美在线|欧美| 欧美日韩日日夜夜| 欧美区一区二区三区| 欧美日韩精品福利| 欧美一区二区三区人| 日韩欧美综合在线| 欧美大胆人体bbbb| 久久综合一区二区| 日本一区二区三区国色天香| 国产视频一区二区三区在线观看| 国产日产欧美精品一区二区三区| 亚洲人成小说网站色在线| 亚洲精品你懂的| 午夜伦欧美伦电影理论片| 蜜臀av一区二区在线免费观看| 裸体一区二区三区| 国产成人高清在线| 色婷婷亚洲精品| 中文在线免费一区三区高中清不卡| 日韩三级.com| 91同城在线观看| 欧美日韩小视频| 国产精品美女久久久久高潮| 精品在线一区二区三区| 国产自产v一区二区三区c| 不卡大黄网站免费看| 色综合网站在线| 在线观看91精品国产麻豆| 欧美v国产在线一区二区三区| 国产日韩欧美制服另类| √…a在线天堂一区| 亚洲午夜免费视频| 精品一区二区国语对白| 成人黄色片在线观看| 欧美区一区二区三区| 久久久亚洲午夜电影| 一区二区三区在线视频观看| 男男成人高潮片免费网站| 不卡一卡二卡三乱码免费网站| 欧美午夜一区二区三区| 久久毛片高清国产| 亚洲在线视频免费观看| 国产麻豆精品在线| 欧美日韩一区小说| 国产精品免费看片| 国产麻豆精品95视频| 麻豆一区二区三| 波多野结衣欧美| 日韩视频中午一区| 18涩涩午夜精品.www| 蜜臀久久久久久久| 色吧成人激情小说| 国产喂奶挤奶一区二区三区| 亚洲6080在线| 91啪九色porn原创视频在线观看| 欧美电视剧在线观看完整版| 亚洲免费色视频| 粉嫩在线一区二区三区视频| 欧美丰满高潮xxxx喷水动漫| 亚洲女爱视频在线| 懂色中文一区二区在线播放| 日韩欧美久久久| 亚洲午夜电影在线观看| 99久久精品国产网站| 久久久久88色偷偷免费| 麻豆国产精品官网| 制服丝袜一区二区三区| 亚洲福利国产精品| 色婷婷国产精品综合在线观看| 日本一区二区在线不卡| 国内精品国产三级国产a久久| 欧美午夜精品久久久久久孕妇| 国产精品免费久久久久| 精品夜夜嗨av一区二区三区| 91麻豆精品国产91久久久久| 亚洲精品免费看| 91美女视频网站| 一区二区免费在线播放| 成人app网站| 久久精品水蜜桃av综合天堂| 久久国产人妖系列| 精品国精品自拍自在线| 美女久久久精品| 日韩视频一区在线观看| 日本午夜精品视频在线观看| 717成人午夜免费福利电影| 日韩电影免费在线| 日韩一级二级三级| 日本va欧美va瓶| 日韩一区二区影院| 久久精品999| 精品美女在线观看| 国产精一区二区三区| 国产亚洲精品免费| 成人激情开心网| 亚洲人成精品久久久久久| 在线精品视频免费播放| 香蕉久久一区二区不卡无毒影院| 欧美日韩亚洲综合在线 | heyzo一本久久综合| 国产精品丝袜久久久久久app| 国产精品一区二区91| 国产精品久久久久久久久免费桃花 | 亚洲婷婷综合久久一本伊一区| 成人avav影音| 亚洲高清视频中文字幕| 717成人午夜免费福利电影| 久久99精品一区二区三区三区| 久久午夜免费电影| 91蝌蚪porny| 午夜影院久久久| 2023国产精华国产精品| 国产成人丝袜美腿| 亚洲综合色丁香婷婷六月图片| 欧美丰满少妇xxxxx高潮对白| 久久se这里有精品| 国产精品视频九色porn| 欧美日韩精品一区二区天天拍小说| 日本欧美肥老太交大片| 亚洲mv在线观看| 懂色一区二区三区免费观看| 欧美日韩一区二区三区不卡| 中文字幕av资源一区|