Fixed ticket #974: SRTP stops functioning after the library is restarted
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@2891 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjmedia/src/pjmedia/transport_srtp.c b/pjmedia/src/pjmedia/transport_srtp.c
index c0cd43e..9e03f59 100644
--- a/pjmedia/src/pjmedia/transport_srtp.c
+++ b/pjmedia/src/pjmedia/transport_srtp.c
@@ -269,13 +269,12 @@
#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_LOG(4, (THIS_FILE, "Failed to register libsrtp deinit."));
}
- initialized = PJ_TRUE;
+ libsrtp_initialized = PJ_TRUE;
}
return PJ_SUCCESS;
@@ -309,6 +308,8 @@
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)