diff options
author | Benny Prijono <bennylp@teluu.com> | 2011-10-09 10:58:38 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2011-10-09 10:58:38 +0000 |
commit | ccd701371c5d44869c3f66b1426d335a143b75ff (patch) | |
tree | a7ca244da3b098f69e771af679ddbdf19504df0b /pjmedia | |
parent | a1a6b84641a8f18d82106298b664e4654b1d0fab (diff) |
Fixed #1383: Update the transport adapter sample in pjsua
git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3804 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r-- | pjmedia/include/pjmedia/transport_adapter_sample.h | 9 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/transport_adapter_sample.c | 7 |
2 files changed, 12 insertions, 4 deletions
diff --git a/pjmedia/include/pjmedia/transport_adapter_sample.h b/pjmedia/include/pjmedia/transport_adapter_sample.h index 6c41a69d..62eb1c0f 100644 --- a/pjmedia/include/pjmedia/transport_adapter_sample.h +++ b/pjmedia/include/pjmedia/transport_adapter_sample.h @@ -49,15 +49,18 @@ PJ_BEGIN_DECL * @param endpt The media endpoint. * @param name Optional name to identify this media transport * for logging purposes. - * @param transport The underlying media transport to send and receive - * RTP/RTCP packets. + * @param base_tp The base/underlying media transport to send and + * receive RTP/RTCP packets. + * @param del_base Specify whether the base transport should also be + * destroyed when destroy() is called upon us. * @param p_tp Pointer to receive the media transport instance. * * @return PJ_SUCCESS on success, or the appropriate error code. */ PJ_DECL(pj_status_t) pjmedia_tp_adapter_create( pjmedia_endpt *endpt, const char *name, - pjmedia_transport *transport, + pjmedia_transport *base_tp, + pj_bool_t del_base, pjmedia_transport **p_tp); PJ_END_DECL diff --git a/pjmedia/src/pjmedia/transport_adapter_sample.c b/pjmedia/src/pjmedia/transport_adapter_sample.c index c118c108..a076bdab 100644 --- a/pjmedia/src/pjmedia/transport_adapter_sample.c +++ b/pjmedia/src/pjmedia/transport_adapter_sample.c @@ -94,6 +94,7 @@ static struct pjmedia_transport_op tp_adapter_op = struct tp_adapter { pjmedia_transport base; + pj_bool_t del_base; pj_pool_t *pool; @@ -118,6 +119,7 @@ struct tp_adapter PJ_DEF(pj_status_t) pjmedia_tp_adapter_create( pjmedia_endpt *endpt, const char *name, pjmedia_transport *transport, + pj_bool_t del_base, pjmedia_transport **p_tp) { pj_pool_t *pool; @@ -138,6 +140,7 @@ PJ_DEF(pj_status_t) pjmedia_tp_adapter_create( pjmedia_endpt *endpt, /* Save the transport as the slave transport */ adapter->slave_tp = transport; + adapter->del_base = del_base; /* Done */ *p_tp = &adapter->base; @@ -421,7 +424,9 @@ static pj_status_t transport_destroy (pjmedia_transport *tp) struct tp_adapter *adapter = (struct tp_adapter*)tp; /* Close the slave transport */ - pjmedia_transport_close(adapter->slave_tp); + if (adapter->del_base) { + pjmedia_transport_close(adapter->slave_tp); + } /* Self destruct.. */ pj_pool_release(adapter->pool); |