diff options
author | Liong Sauw Ming <ming@teluu.com> | 2013-10-01 05:00:57 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2013-10-01 05:00:57 +0000 |
commit | b26d40d558f5be24bed5fb107cd4844f3cea1a03 (patch) | |
tree | cb2f7f217f4886b067cc01be4bd66966294e26db /pjmedia | |
parent | 087474f737e1bec37fe4507b024c6db3a794be90 (diff) |
Fixed #1674: Deadlock when third party media employs external lock and ICE is active
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4606 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r-- | pjmedia/include/pjmedia/transport_ice.h | 9 | ||||
-rw-r--r-- | pjmedia/src/pjmedia/transport_ice.c | 6 |
2 files changed, 15 insertions, 0 deletions
diff --git a/pjmedia/include/pjmedia/transport_ice.h b/pjmedia/include/pjmedia/transport_ice.h index 1b44467e..a461bdf6 100644 --- a/pjmedia/include/pjmedia/transport_ice.h +++ b/pjmedia/include/pjmedia/transport_ice.h @@ -221,6 +221,15 @@ PJ_DECL(pj_status_t) pjmedia_ice_create3(pjmedia_endpt *endpt, void *user_data, pjmedia_transport **p_tp); +/** + * Get the group lock for the ICE media transport. + * + * @param tp The ICE media transport. + * + * @return The group lock. + */ +PJ_DECL(pj_grp_lock_t *) pjmedia_ice_get_grp_lock(pjmedia_transport *tp); + PJ_END_DECL diff --git a/pjmedia/src/pjmedia/transport_ice.c b/pjmedia/src/pjmedia/transport_ice.c index 06eef516..9ce9a333 100644 --- a/pjmedia/src/pjmedia/transport_ice.c +++ b/pjmedia/src/pjmedia/transport_ice.c @@ -283,6 +283,12 @@ PJ_DEF(pj_status_t) pjmedia_ice_create3(pjmedia_endpt *endpt, return PJ_SUCCESS; } +PJ_DEF(pj_grp_lock_t *) pjmedia_ice_get_grp_lock(pjmedia_transport *tp) +{ + PJ_ASSERT_RETURN(tp, NULL); + return pj_ice_strans_get_grp_lock(((struct transport_ice *)tp)->ice_st); +} + /* Disable ICE when SDP from remote doesn't contain a=candidate line */ static void set_no_ice(struct transport_ice *tp_ice, const char *reason, pj_status_t err) |