Commit c752af77 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

RTP: support build without libvlc_srtp

parent 410a3de5
if HAVE_GCRYPT
# RTP plugin # RTP plugin
libvlc_LTLIBRARIES += \ libvlc_LTLIBRARIES += \
librtp_plugin.la librtp_plugin.la
...@@ -7,9 +6,12 @@ librtp_plugin_la_SOURCES = \ ...@@ -7,9 +6,12 @@ librtp_plugin_la_SOURCES = \
rtp.h \ rtp.h \
input.c \ input.c \
session.c session.c
librtp_plugin_la_CFLAGS = $(AM_CFLAGS) -I$(top_srcdir)/libs/srtp librtp_plugin_la_CFLAGS = $(AM_CFLAGS)
librtp_plugin_la_LIBADD = $(AM_LIBADD) \ librtp_plugin_la_LIBADD = $(AM_LIBADD)
$(top_builddir)/libs/srtp/libvlc_srtp.la librtp_plugin_la_DEPENDENCIES =
librtp_plugin_la_DEPENDENCIES = \
$(top_builddir)/libs/srtp/libvlc_srtp.la 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 endif
...@@ -35,7 +35,9 @@ ...@@ -35,7 +35,9 @@
#endif #endif
#include "rtp.h" #include "rtp.h"
#include <srtp.h> #ifdef HAVE_SRTP
# include <srtp.h>
#endif
static bool fd_dead (int fd) static bool fd_dead (int fd)
{ {
...@@ -139,7 +141,7 @@ static block_t *rtp_recv (demux_t *demux) ...@@ -139,7 +141,7 @@ static block_t *rtp_recv (demux_t *demux)
const uint8_t ptype = rtp_ptype (block); const uint8_t ptype = rtp_ptype (block);
if (ptype >= 72 && ptype <= 76) if (ptype >= 72 && ptype <= 76)
continue; /* Muxed RTCP, ignore for now */ continue; /* Muxed RTCP, ignore for now */
#ifdef HAVE_SRTP
if (p_sys->srtp) if (p_sys->srtp)
{ {
size_t len = block->i_buffer; size_t len = block->i_buffer;
...@@ -155,6 +157,7 @@ static block_t *rtp_recv (demux_t *demux) ...@@ -155,6 +157,7 @@ static block_t *rtp_recv (demux_t *demux)
} }
block->i_buffer = len; block->i_buffer = len;
} }
#endif
return block; /* success! */ return block; /* success! */
} }
return NULL; return NULL;
......
...@@ -37,7 +37,9 @@ ...@@ -37,7 +37,9 @@
#include <vlc_codecs.h> #include <vlc_codecs.h>
#include "rtp.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_TEXT N_("RTP de-jitter buffer length (msec)")
#define RTP_CACHING_LONGTEXT N_( \ #define RTP_CACHING_LONGTEXT N_( \
...@@ -97,10 +99,12 @@ vlc_module_begin () ...@@ -97,10 +99,12 @@ vlc_module_begin ()
RTCP_PORT_LONGTEXT, false) RTCP_PORT_LONGTEXT, false)
change_integer_range (0, 65535) change_integer_range (0, 65535)
change_safe () change_safe ()
#ifdef HAVE_SRTP
add_string ("srtp-key", "", NULL, add_string ("srtp-key", "", NULL,
SRTP_KEY_TEXT, SRTP_KEY_LONGTEXT, false) SRTP_KEY_TEXT, SRTP_KEY_LONGTEXT, false)
add_string ("srtp-salt", "", NULL, add_string ("srtp-salt", "", NULL,
SRTP_SALT_TEXT, SRTP_SALT_LONGTEXT, false) SRTP_SALT_TEXT, SRTP_SALT_LONGTEXT, false)
#endif
add_integer ("rtp-max-src", 1, NULL, RTP_MAX_SRC_TEXT, add_integer ("rtp-max-src", 1, NULL, RTP_MAX_SRC_TEXT,
RTP_MAX_SRC_LONGTEXT, true) RTP_MAX_SRC_LONGTEXT, true)
change_integer_range (1, 255) change_integer_range (1, 255)
...@@ -236,7 +240,9 @@ static int Open (vlc_object_t *obj) ...@@ -236,7 +240,9 @@ static int Open (vlc_object_t *obj)
} }
vlc_mutex_init (&p_sys->lock); vlc_mutex_init (&p_sys->lock);
#ifdef HAVE_SRTP
p_sys->srtp = NULL; p_sys->srtp = NULL;
#endif
p_sys->fd = fd; p_sys->fd = fd;
p_sys->rtcp_fd = rtcp_fd; p_sys->rtcp_fd = rtcp_fd;
p_sys->caching = var_CreateGetInteger (obj, "rtp-caching"); p_sys->caching = var_CreateGetInteger (obj, "rtp-caching");
...@@ -254,6 +260,7 @@ static int Open (vlc_object_t *obj) ...@@ -254,6 +260,7 @@ static int Open (vlc_object_t *obj)
if (p_sys->session == NULL) if (p_sys->session == NULL)
goto error; goto error;
#ifdef HAVE_SRTP
char *key = var_CreateGetNonEmptyString (demux, "srtp-key"); char *key = var_CreateGetNonEmptyString (demux, "srtp-key");
if (key) if (key)
{ {
...@@ -275,6 +282,7 @@ static int Open (vlc_object_t *obj) ...@@ -275,6 +282,7 @@ static int Open (vlc_object_t *obj)
goto error; goto error;
} }
} }
#endif
if (vlc_clone (&p_sys->thread, rtp_thread, demux, if (vlc_clone (&p_sys->thread, rtp_thread, demux,
VLC_THREAD_PRIORITY_INPUT)) VLC_THREAD_PRIORITY_INPUT))
...@@ -303,8 +311,10 @@ static void Close (vlc_object_t *obj) ...@@ -303,8 +311,10 @@ static void Close (vlc_object_t *obj)
} }
vlc_mutex_destroy (&p_sys->lock); vlc_mutex_destroy (&p_sys->lock);
#ifdef HAVE_SRTP
if (p_sys->srtp) if (p_sys->srtp)
srtp_destroy (p_sys->srtp); srtp_destroy (p_sys->srtp);
#endif
if (p_sys->session) if (p_sys->session)
rtp_session_destroy (demux, p_sys->session); rtp_session_destroy (demux, p_sys->session);
if (p_sys->rtcp_fd != -1) if (p_sys->rtcp_fd != -1)
......
...@@ -52,7 +52,9 @@ void *rtp_thread (void *data); ...@@ -52,7 +52,9 @@ void *rtp_thread (void *data);
struct demux_sys_t struct demux_sys_t
{ {
rtp_session_t *session; rtp_session_t *session;
#ifdef HAVE_SRTP
struct srtp_session_t *srtp; struct srtp_session_t *srtp;
#endif
int fd; int fd;
int rtcp_fd; int rtcp_fd;
vlc_thread_t thread; vlc_thread_t thread;
......
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
#include <vlc_codecs.h> #include <vlc_codecs.h>
#include "rtp.h" #include "rtp.h"
#include <srtp.h>
/* PT=dynamic /* PT=dynamic
* vorbis: Xiph Vorbis audio (draft-ietf-avt-rtp-vorbis-09, RFC FIXME) * vorbis: Xiph Vorbis audio (draft-ietf-avt-rtp-vorbis-09, RFC FIXME)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment