diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2009-08-14 13:23:22 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2009-08-14 13:23:22 +0000 |
commit | c71027eba79ab798185f0dfe59b4c9418aa6b855 (patch) | |
tree | 4dc8c9d81d9d159da847fdb722dbda3b4199fec3 /pjsip/src | |
parent | f5e84f87d9b090df2ca06396fdda10569058748a (diff) |
Ticket #877: Fixed bug flip-flop pools shouldn't be swapped when SDP negotiation fails.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2879 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src')
-rw-r--r-- | pjsip/src/pjsip-ua/sip_inv.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c index e7eb1c58..5633e61f 100644 --- a/pjsip/src/pjsip-ua/sip_inv.c +++ b/pjsip/src/pjsip-ua/sip_inv.c @@ -1489,8 +1489,12 @@ static pj_status_t inv_negotiate_sdp( pjsip_inv_session *inv ) if (mod_inv.cb.on_media_update && inv->notify) (*mod_inv.cb.on_media_update)(inv, status); - /* Swap the flip-flop pool, and reset the new provisional pool */ - swap_pool(&inv->pool_prov, &inv->pool_active); + /* Swap the flip-flop pool when SDP negotiation success. */ + if (status == PJ_SUCCESS) { + swap_pool(&inv->pool_prov, &inv->pool_active); + } + + /* Reset the provisional pool regardless SDP negotiation result. */ pj_pool_reset(inv->pool_prov); return status; |