summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2009-08-17 15:17:36 +0000
committerBenny Prijono <bennylp@teluu.com>2009-08-17 15:17:36 +0000
commitd29873572ef5ef79cf37c76247b4eecd8928ec53 (patch)
treecfda8a0d1aa4881a9e8bd0494bbe6b486e7ae76f
parent59033a91eca00c35e83f2ca2e12441b58c4ba5ff (diff)
Fixed ticket #974: SRTP stops functioning after the library is restarted
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2891 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjmedia/src/pjmedia/transport_srtp.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/pjmedia/src/pjmedia/transport_srtp.c b/pjmedia/src/pjmedia/transport_srtp.c
index c0cd43ef..9e03f594 100644
--- a/pjmedia/src/pjmedia/transport_srtp.c
+++ b/pjmedia/src/pjmedia/transport_srtp.c
@@ -269,13 +269,12 @@ const char* get_libsrtp_errstr(int err)
#endif
}
+static pj_bool_t libsrtp_initialized;
static void pjmedia_srtp_deinit_lib(void);
PJ_DEF(pj_status_t) pjmedia_srtp_init_lib(void)
{
- static pj_bool_t initialized = PJ_FALSE;
-
- if (initialized == PJ_FALSE) {
+ if (libsrtp_initialized == PJ_FALSE) {
err_status_t err;
err = srtp_init();
@@ -294,7 +293,7 @@ PJ_DEF(pj_status_t) pjmedia_srtp_init_lib(void)
PJ_LOG(4, (THIS_FILE, "Failed to register libsrtp deinit."));
}
- initialized = PJ_TRUE;
+ libsrtp_initialized = PJ_TRUE;
}
return PJ_SUCCESS;
@@ -309,6 +308,8 @@ static void pjmedia_srtp_deinit_lib(void)
PJ_LOG(4, (THIS_FILE, "Failed to deinitialize libsrtp: %s",
get_libsrtp_errstr(err)));
}
+
+ libsrtp_initialized = PJ_FALSE;
}
static int get_crypto_idx(const pj_str_t* crypto_name)