diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-05-17 17:17:39 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-05-17 17:17:39 +0000 |
commit | 1b3863ac6dcae1a7bed7e0b0cb6a2f482c093989 (patch) | |
tree | 8ead72c61a60697246ab48fde099fb063c3fbaff /pjsip/src/pjsua-lib/pjsua_core.c | |
parent | 79e6d6ac5ae27d653d1724059f081a6be1c39b7e (diff) |
Major modification in pjmedia to split stream transport into separate functionality, to allow using custom transports with streams
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@452 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsua-lib/pjsua_core.c')
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_core.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c index eafcd78b..5959d065 100644 --- a/pjsip/src/pjsua-lib/pjsua_core.c +++ b/pjsip/src/pjsua-lib/pjsua_core.c @@ -320,7 +320,7 @@ static pj_status_t init_sockets(pj_bool_t sip, PJ_LOG(4,(THIS_FILE, "RTP socket reachable at %s:%d", pj_inet_ntoa(skinfo->rtp_addr_name.sin_addr), pj_ntohs(skinfo->rtp_addr_name.sin_port))); - PJ_LOG(4,(THIS_FILE, "RTCP UDP socket reachable at %s:%d", + PJ_LOG(4,(THIS_FILE, "RTCP socket reachable at %s:%d", pj_inet_ntoa(skinfo->rtcp_addr_name.sin_addr), pj_ntohs(skinfo->rtcp_addr_name.sin_port))); @@ -779,6 +779,10 @@ pj_status_t pjsua_start(void) /* Init sockets (STUN etc): */ for (i=0; i<(int)pjsua.max_calls; ++i) { status = init_sockets(i==0, &pjsua.calls[i].skinfo); + if (status == PJ_SUCCESS) + status = pjmedia_transport_udp_attach(pjsua.med_endpt, NULL, + &pjsua.calls[i].skinfo, + &pjsua.calls[i].med_tp); if (status != PJ_SUCCESS) { pjsua_perror(THIS_FILE, "init_sockets() has returned error", status); @@ -786,8 +790,7 @@ pj_status_t pjsua_start(void) if (i >= 0) pj_sock_close(pjsua.sip_sock); while (i >= 0) { - pj_sock_close(pjsua.calls[i].skinfo.rtp_sock); - pj_sock_close(pjsua.calls[i].skinfo.rtcp_sock); + pjmedia_transport_udp_close(pjsua.calls[i].med_tp); } return status; } @@ -1048,6 +1051,12 @@ pj_status_t pjsua_destroy(void) pjmedia_codec_l16_deinit(); #endif /* PJMEDIA_HAS_L16_CODEC */ + + /* Close transports */ + for (i=0; i<pjsua.call_cnt; ++i) { + pjmedia_transport_udp_close(pjsua.calls[i].med_tp); + } + /* Destroy media endpoint. */ pjmedia_endpt_destroy(pjsua.med_endpt); |