summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsua-lib/pjsua_media.c
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2009-08-12 17:53:47 +0000
committerBenny Prijono <bennylp@teluu.com>2009-08-12 17:53:47 +0000
commitf4f120afc306e03d3fbc54701759bd8f7efbbf53 (patch)
treeea3581e237158feef7090f2eab8dc1c20f6ae0a3 /pjsip/src/pjsua-lib/pjsua_media.c
parent562fdabbc6a8b96f1e536fe413761cf5b8a5b304 (diff)
Ticket #877: Memory consumption of the invite session grows indefinitely if call is running for long period of time and with many re-INVITES
- introducing flip-flop pools in the pjsip_inv_session. There are two additional pools created, and one of them will be reset everytime SDP negotiation is done to release memory back to the OS git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2869 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_media.c')
-rw-r--r--pjsip/src/pjsua-lib/pjsua_media.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c
index 7b95a137..243f4f65 100644
--- a/pjsip/src/pjsua-lib/pjsua_media.c
+++ b/pjsip/src/pjsua-lib/pjsua_media.c
@@ -1426,7 +1426,7 @@ pj_status_t pjsua_media_channel_update(pjsua_call_id call_id,
/* Create media session info based on SDP parameters.
*/
- status = pjmedia_session_info_from_sdp( call->inv->dlg->pool,
+ status = pjmedia_session_info_from_sdp( call->inv->pool_prov,
pjsua_var.med_endpt,
PJMEDIA_MAX_SDP_MEDIA, &sess_info,
local_sdp, remote_sdp);
@@ -1469,7 +1469,7 @@ pj_status_t pjsua_media_channel_update(pjsua_call_id call_id,
/* Start/restart media transport */
status = pjmedia_transport_media_start(call->med_tp,
- call->inv->pool,
+ call->inv->pool_prov,
local_sdp, remote_sdp, 0);
if (status != PJ_SUCCESS)
return status;
@@ -1572,7 +1572,8 @@ pj_status_t pjsua_media_channel_update(pjsua_call_id call_id,
if (port_name.slen < 1) {
port_name = pj_str("call");
}
- status = pjmedia_conf_add_port( pjsua_var.mconf, call->inv->pool,
+ status = pjmedia_conf_add_port( pjsua_var.mconf,
+ call->inv->pool_prov,
media_port,
&port_name,
(unsigned*)&call->conf_slot);