[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