[vlc-devel] commit: RTP: support build without libvlc_srtp ( Rémi Denis-Courmont )
git version control
git at videolan.org
Tue Oct 6 21:44:58 CEST 2009
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Tue Oct 6 22:38:04 2009 +0300| [c752af77fc979dbb17a811be65bf29309bd78188] | committer: Rémi Denis-Courmont
RTP: support build without libvlc_srtp
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c752af77fc979dbb17a811be65bf29309bd78188
---
modules/access/rtp/Modules.am | 14 ++++++++------
modules/access/rtp/input.c | 7 +++++--
modules/access/rtp/rtp.c | 12 +++++++++++-
modules/access/rtp/rtp.h | 2 ++
modules/access/rtp/xiph.c | 1 -
5 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/modules/access/rtp/Modules.am b/modules/access/rtp/Modules.am
index d00da33..849c8e4 100644
--- a/modules/access/rtp/Modules.am
+++ b/modules/access/rtp/Modules.am
@@ -1,4 +1,3 @@
-if HAVE_GCRYPT
# RTP plugin
libvlc_LTLIBRARIES += \
librtp_plugin.la
@@ -7,9 +6,12 @@ librtp_plugin_la_SOURCES = \
rtp.h \
input.c \
session.c
-librtp_plugin_la_CFLAGS = $(AM_CFLAGS) -I$(top_srcdir)/libs/srtp
-librtp_plugin_la_LIBADD = $(AM_LIBADD) \
- $(top_builddir)/libs/srtp/libvlc_srtp.la
-librtp_plugin_la_DEPENDENCIES = \
- $(top_builddir)/libs/srtp/libvlc_srtp.la
+librtp_plugin_la_CFLAGS = $(AM_CFLAGS)
+librtp_plugin_la_LIBADD = $(AM_LIBADD)
+librtp_plugin_la_DEPENDENCIES =
+
+if HAVE_GCRYPT
+librtp_plugin_la_CFLAGS += -DHAVE_SRTP -I$(top_srcdir)/libs/srtp
+librtp_plugin_la_LIBADD += $(top_builddir)/libs/srtp/libvlc_srtp.la
+librtp_plugin_la_DEPENDENCIES += $(top_builddir)/libs/srtp/libvlc_srtp.la
endif
diff --git a/modules/access/rtp/input.c b/modules/access/rtp/input.c
index a2aa4a2..1ee0a73 100644
--- a/modules/access/rtp/input.c
+++ b/modules/access/rtp/input.c
@@ -35,7 +35,9 @@
#endif
#include "rtp.h"
-#include <srtp.h>
+#ifdef HAVE_SRTP
+# include <srtp.h>
+#endif
static bool fd_dead (int fd)
{
@@ -139,7 +141,7 @@ static block_t *rtp_recv (demux_t *demux)
const uint8_t ptype = rtp_ptype (block);
if (ptype >= 72 && ptype <= 76)
continue; /* Muxed RTCP, ignore for now */
-
+#ifdef HAVE_SRTP
if (p_sys->srtp)
{
size_t len = block->i_buffer;
@@ -155,6 +157,7 @@ static block_t *rtp_recv (demux_t *demux)
}
block->i_buffer = len;
}
+#endif
return block; /* success! */
}
return NULL;
diff --git a/modules/access/rtp/rtp.c b/modules/access/rtp/rtp.c
index 27b9138..a13c71d 100644
--- a/modules/access/rtp/rtp.c
+++ b/modules/access/rtp/rtp.c
@@ -37,7 +37,9 @@
#include <vlc_codecs.h>
#include "rtp.h"
-#include <srtp.h>
+#ifdef HAVE_SRTP
+# include <srtp.h>
+#endif
#define RTP_CACHING_TEXT N_("RTP de-jitter buffer length (msec)")
#define RTP_CACHING_LONGTEXT N_( \
@@ -97,10 +99,12 @@ vlc_module_begin ()
RTCP_PORT_LONGTEXT, false)
change_integer_range (0, 65535)
change_safe ()
+#ifdef HAVE_SRTP
add_string ("srtp-key", "", NULL,
SRTP_KEY_TEXT, SRTP_KEY_LONGTEXT, false)
add_string ("srtp-salt", "", NULL,
SRTP_SALT_TEXT, SRTP_SALT_LONGTEXT, false)
+#endif
add_integer ("rtp-max-src", 1, NULL, RTP_MAX_SRC_TEXT,
RTP_MAX_SRC_LONGTEXT, true)
change_integer_range (1, 255)
@@ -236,7 +240,9 @@ static int Open (vlc_object_t *obj)
}
vlc_mutex_init (&p_sys->lock);
+#ifdef HAVE_SRTP
p_sys->srtp = NULL;
+#endif
p_sys->fd = fd;
p_sys->rtcp_fd = rtcp_fd;
p_sys->caching = var_CreateGetInteger (obj, "rtp-caching");
@@ -254,6 +260,7 @@ static int Open (vlc_object_t *obj)
if (p_sys->session == NULL)
goto error;
+#ifdef HAVE_SRTP
char *key = var_CreateGetNonEmptyString (demux, "srtp-key");
if (key)
{
@@ -275,6 +282,7 @@ static int Open (vlc_object_t *obj)
goto error;
}
}
+#endif
if (vlc_clone (&p_sys->thread, rtp_thread, demux,
VLC_THREAD_PRIORITY_INPUT))
@@ -303,8 +311,10 @@ static void Close (vlc_object_t *obj)
}
vlc_mutex_destroy (&p_sys->lock);
+#ifdef HAVE_SRTP
if (p_sys->srtp)
srtp_destroy (p_sys->srtp);
+#endif
if (p_sys->session)
rtp_session_destroy (demux, p_sys->session);
if (p_sys->rtcp_fd != -1)
diff --git a/modules/access/rtp/rtp.h b/modules/access/rtp/rtp.h
index 15cbfad..4fd0290 100644
--- a/modules/access/rtp/rtp.h
+++ b/modules/access/rtp/rtp.h
@@ -52,7 +52,9 @@ void *rtp_thread (void *data);
struct demux_sys_t
{
rtp_session_t *session;
+#ifdef HAVE_SRTP
struct srtp_session_t *srtp;
+#endif
int fd;
int rtcp_fd;
vlc_thread_t thread;
diff --git a/modules/access/rtp/xiph.c b/modules/access/rtp/xiph.c
index 8a98bd6..48db91b 100644
--- a/modules/access/rtp/xiph.c
+++ b/modules/access/rtp/xiph.c
@@ -38,7 +38,6 @@
#include <vlc_codecs.h>
#include "rtp.h"
-#include <srtp.h>
/* PT=dynamic
* vorbis: Xiph Vorbis audio (draft-ietf-avt-rtp-vorbis-09, RFC FIXME)
More information about the vlc-devel
mailing list