summaryrefslogtreecommitdiff
path: root/pjsip-apps
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2013-08-06 08:02:24 +0000
committerBenny Prijono <bennylp@teluu.com>2013-08-06 08:02:24 +0000
commit32e616a14deb6da49bb4557a0163b353415df1ce (patch)
treed0ded951e1d07ec13c39cab1a4a178cfe9f55e52 /pjsip-apps
parent6e48a186a1d35be3701c4caa5295925b24e0cb57 (diff)
Fixed #1693: Pay attention to reg_hdr_list and sub_hdr_list in pjsua_acc_modify(), and also fixed pjsua_acc_get_config()
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4580 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps')
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app.c24
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app_cli.c8
-rw-r--r--pjsip-apps/src/pjsua/pjsua_app_legacy.c5
3 files changed, 26 insertions, 11 deletions
diff --git a/pjsip-apps/src/pjsua/pjsua_app.c b/pjsip-apps/src/pjsua/pjsua_app.c
index eb04c717..25211935 100644
--- a/pjsip-apps/src/pjsua/pjsua_app.c
+++ b/pjsip-apps/src/pjsua/pjsua_app.c
@@ -1279,6 +1279,7 @@ static pj_status_t app_init()
pjsua_transport_id transport_id = -1;
pjsua_transport_config tcp_cfg;
unsigned i;
+ pj_pool_t *tmp_pool;
pj_status_t status;
/** Create pjsua **/
@@ -1288,6 +1289,7 @@ static pj_status_t app_init()
/* Create pool for application */
app_config.pool = pjsua_pool_create("pjsua-app", 1000, 1000);
+ tmp_pool = pjsua_pool_create("tmp-pjsua", 1000, 1000);;
/* Init CLI & its FE settings */
if (!app_running) {
@@ -1299,8 +1301,10 @@ static pj_status_t app_init()
/** Parse args **/
status = load_config(app_cfg.argc, app_cfg.argv, &uri_arg);
- if (status != PJ_SUCCESS)
+ if (status != PJ_SUCCESS) {
+ pj_pool_release(tmp_pool);
return status;
+ }
/* Initialize application callbacks */
app_config.cfg.cb.on_call_state = &on_call_state;
@@ -1339,8 +1343,10 @@ static pj_status_t app_init()
/* Initialize pjsua */
status = pjsua_init(&app_config.cfg, &app_config.log_cfg,
&app_config.media_cfg);
- if (status != PJ_SUCCESS)
+ if (status != PJ_SUCCESS) {
+ pj_pool_release(tmp_pool);
return status;
+ }
/* Initialize our module to handle otherwise unhandled request */
status = pjsip_endpt_register_module(pjsua_get_pjsip_endpt(),
@@ -1587,7 +1593,7 @@ static pj_status_t app_init()
pjsua_acc_add_local(transport_id, PJ_TRUE, &aid);
if (PJMEDIA_HAS_VIDEO) {
pjsua_acc_config acc_cfg;
- pjsua_acc_get_config(aid, &acc_cfg);
+ pjsua_acc_get_config(aid, tmp_pool, &acc_cfg);
app_config_init_video(&acc_cfg);
pjsua_acc_modify(aid, &acc_cfg);
}
@@ -1626,7 +1632,7 @@ static pj_status_t app_init()
pjsua_acc_add_local(transport_id, PJ_TRUE, &aid);
if (PJMEDIA_HAS_VIDEO) {
pjsua_acc_config acc_cfg;
- pjsua_acc_get_config(aid, &acc_cfg);
+ pjsua_acc_get_config(aid, tmp_pool, &acc_cfg);
app_config_init_video(&acc_cfg);
if (app_config.ipv6)
acc_cfg.ipv6_media_use = PJSUA_IPV6_ENABLED;
@@ -1660,7 +1666,7 @@ static pj_status_t app_init()
pjsua_acc_add_local(transport_id, PJ_TRUE, &aid);
if (PJMEDIA_HAS_VIDEO) {
pjsua_acc_config acc_cfg;
- pjsua_acc_get_config(aid, &acc_cfg);
+ pjsua_acc_get_config(aid, tmp_pool, &acc_cfg);
app_config_init_video(&acc_cfg);
pjsua_acc_modify(aid, &acc_cfg);
}
@@ -1685,7 +1691,7 @@ static pj_status_t app_init()
pjsua_acc_add_local(transport_id, PJ_TRUE, &aid);
if (PJMEDIA_HAS_VIDEO) {
pjsua_acc_config acc_cfg;
- pjsua_acc_get_config(aid, &acc_cfg);
+ pjsua_acc_get_config(aid, tmp_pool, &acc_cfg);
app_config_init_video(&acc_cfg);
if (app_config.ipv6)
acc_cfg.ipv6_media_use = PJSUA_IPV6_ENABLED;
@@ -1720,7 +1726,7 @@ static pj_status_t app_init()
pjsua_acc_add_local(transport_id, PJ_FALSE, &acc_id);
if (PJMEDIA_HAS_VIDEO) {
pjsua_acc_config acc_cfg;
- pjsua_acc_get_config(acc_id, &acc_cfg);
+ pjsua_acc_get_config(acc_id, tmp_pool, &acc_cfg);
app_config_init_video(&acc_cfg);
pjsua_acc_modify(acc_id, &acc_cfg);
}
@@ -1744,7 +1750,7 @@ static pj_status_t app_init()
pjsua_acc_add_local(transport_id, PJ_TRUE, &aid);
if (PJMEDIA_HAS_VIDEO) {
pjsua_acc_config acc_cfg;
- pjsua_acc_get_config(aid, &acc_cfg);
+ pjsua_acc_get_config(aid, tmp_pool, &acc_cfg);
app_config_init_video(&acc_cfg);
if (app_config.ipv6)
acc_cfg.ipv6_media_use = PJSUA_IPV6_ENABLED;
@@ -1829,9 +1835,11 @@ static pj_status_t app_init()
call_opt.aud_cnt = app_config.aud_cnt;
call_opt.vid_cnt = app_config.vid.vid_cnt;
+ pj_pool_release(tmp_pool);
return PJ_SUCCESS;
on_error:
+ pj_pool_release(tmp_pool);
app_destroy();
return status;
}
diff --git a/pjsip-apps/src/pjsua/pjsua_app_cli.c b/pjsip-apps/src/pjsua/pjsua_app_cli.c
index 771539a8..4247de08 100644
--- a/pjsip-apps/src/pjsua/pjsua_app_cli.c
+++ b/pjsip-apps/src/pjsua/pjsua_app_cli.c
@@ -2108,9 +2108,11 @@ static pj_status_t modify_video_account(pjsua_acc_config *acc_cfg)
static pj_status_t cmd_show_account_video()
{
pjsua_acc_config acc_cfg;
+ pj_pool_t *pool = pjsua_pool_create("tmp-pjsua", 1000, 1000);
- pjsua_acc_get_config(current_acc, &acc_cfg);
+ pjsua_acc_get_config(current_acc, pool, &acc_cfg);
app_config_show_video(current_acc, &acc_cfg);
+ pj_pool_release(pool);
return PJ_SUCCESS;
}
@@ -2118,10 +2120,11 @@ static pj_status_t cmd_video_acc_handler(pj_cli_cmd_val *cval)
{
pjsua_acc_config acc_cfg;
pj_cli_cmd_id cmd_id = pj_cli_get_cmd_id(cval->cmd);
+ pj_pool_t *pool = pjsua_pool_create("tmp-pjsua", 1000, 1000);
CHECK_PJSUA_RUNNING();
- pjsua_acc_get_config(current_acc, &acc_cfg);
+ pjsua_acc_get_config(current_acc, pool, &acc_cfg);
switch(cmd_id) {
case CMD_VIDEO_ACC_AUTORX:
@@ -2148,6 +2151,7 @@ static pj_status_t cmd_video_acc_handler(pj_cli_cmd_val *cval)
break;
}
modify_video_account(&acc_cfg);
+ pj_pool_release(pool);
return PJ_SUCCESS;
}
diff --git a/pjsip-apps/src/pjsua/pjsua_app_legacy.c b/pjsip-apps/src/pjsua/pjsua_app_legacy.c
index e49490b0..30725b51 100644
--- a/pjsip-apps/src/pjsua/pjsua_app_legacy.c
+++ b/pjsip-apps/src/pjsua/pjsua_app_legacy.c
@@ -312,8 +312,9 @@ static void vid_handle_menu(char *menuin)
} else if (strcmp(argv[1], "acc")==0) {
pjsua_acc_config acc_cfg;
pj_bool_t changed = PJ_FALSE;
+ pj_pool_t *tmp_pool = pjsua_pool_create("tmp-pjsua", 1000, 1000);
- pjsua_acc_get_config(current_acc, &acc_cfg);
+ pjsua_acc_get_config(current_acc, tmp_pool, &acc_cfg);
if (argc == 3 && strcmp(argv[2], "show")==0) {
app_config_show_video(current_acc, &acc_cfg);
@@ -334,6 +335,7 @@ static void vid_handle_menu(char *menuin)
acc_cfg.vid_rend_dev = dev;
changed = PJ_TRUE;
} else {
+ pj_pool_release(tmp_pool);
goto on_error;
}
@@ -343,6 +345,7 @@ static void vid_handle_menu(char *menuin)
PJ_PERROR(1,(THIS_FILE, status, "Error modifying account %d",
current_acc));
}
+ pj_pool_release(tmp_pool);
} else if (strcmp(argv[1], "call")==0) {
pjsua_call_vid_strm_op_param param;