summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2014-01-30 04:33:27 +0000
committerNanang Izzuddin <nanang@teluu.com>2014-01-30 04:33:27 +0000
commit263ef89954cff2ab1e15e5aac643c0f69c520afd (patch)
tree631c22da72aa3810e6d23dc9cc006e119437b3a6 /pjmedia
parent29b2490f6c22ec98dfb743f34f0b5e56bcb76dc7 (diff)
Close #1730: Added srtp_deinit()/shutdown() detection for external SRTP in configure script.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4723 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r--pjmedia/build/os-auto.mak.in3
-rw-r--r--pjmedia/src/pjmedia/transport_srtp.c12
2 files changed, 15 insertions, 0 deletions
diff --git a/pjmedia/build/os-auto.mak.in b/pjmedia/build/os-auto.mak.in
index f451331e..c0642cc8 100644
--- a/pjmedia/build/os-auto.mak.in
+++ b/pjmedia/build/os-auto.mak.in
@@ -134,6 +134,9 @@ endif
ifeq (@ac_external_srtp@,1)
# External SRTP
export CFLAGS += -DPJMEDIA_EXTERNAL_SRTP=1
+# SRTP srtp_deinit()/srtp_shutdown() API availability settings
+export CFLAGS += -DPJMEDIA_SRTP_HAS_DEINIT=@ac_srtp_deinit_present@ \
+ -DPJMEDIA_SRTP_HAS_SHUTDOWN=@ac_srtp_shutdown_present@
else
# Our SRTP in third_party
export CFLAGS += -I$(THIRD_PARTY)/build/srtp \
diff --git a/pjmedia/src/pjmedia/transport_srtp.c b/pjmedia/src/pjmedia/transport_srtp.c
index 2e76c506..e82c10a8 100644
--- a/pjmedia/src/pjmedia/transport_srtp.c
+++ b/pjmedia/src/pjmedia/transport_srtp.c
@@ -323,7 +323,19 @@ static void pjmedia_srtp_deinit_lib(pjmedia_endpt *endpt)
PJ_UNUSED_ARG(endpt);
+#if defined(PJMEDIA_EXTERNAL_SRTP) && (PJMEDIA_EXTERNAL_SRTP != 0)
+
+# if defined(PJMEDIA_SRTP_HAS_DEINIT) && PJMEDIA_SRTP_HAS_DEINIT!=0
+ err = srtp_deinit();
+# elif defined(PJMEDIA_SRTP_HAS_SHUTDOWN) && PJMEDIA_SRTP_HAS_SHUTDOWN!=0
+ err = srtp_shutdown();
+# else
+ err = err_status_ok;
+# endif
+
+#else
err = srtp_deinit();
+#endif
if (err != err_status_ok) {
PJ_LOG(4, (THIS_FILE, "Failed to deinitialize libsrtp: %s",
get_libsrtp_errstr(err)));