Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
f9d4a5ab
Commit
f9d4a5ab
authored
Oct 06, 2009
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
RTP out: support build without libvlc_srtp
parent
c752af77
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
9 deletions
+26
-9
modules/stream_out/Modules.am
modules/stream_out/Modules.am
+9
-6
modules/stream_out/rtp.c
modules/stream_out/rtp.c
+17
-3
No files found.
modules/stream_out/Modules.am
View file @
f9d4a5ab
...
...
@@ -30,15 +30,18 @@ libvlc_LTLIBRARIES += \
libstream_out_smem_plugin.la \
$(NULL)
if HAVE_GCRYPT
# RTP plugin
libvlc_LTLIBRARIES += \
libstream_out_rtp_plugin.la
libstream_out_rtp_plugin_la_SOURCES = \
rtp.c rtp.h rtpfmt.c rtcp.c rtsp.c
libstream_out_rtp_plugin_la_CFLAGS = $(AM_CFLAGS) -I$(top_srcdir)/libs/srtp
libstream_out_rtp_plugin_la_LIBADD = $(AM_LIBADD) \
$(top_builddir)/libs/srtp/libvlc_srtp.la
libstream_out_rtp_plugin_la_DEPENDENCIES = \
$(top_builddir)/libs/srtp/libvlc_srtp.la
libstream_out_rtp_plugin_la_CFLAGS = $(AM_CFLAGS)
libstream_out_rtp_plugin_la_LIBADD = $(AM_LIBADD)
libstream_out_rtp_plugin_la_DEPENDENCIES =
if HAVE_GCRYPT
SRTP_CFLAGS = -I$(top_srcdir)/libs/srtp
SRTP_LIBS = $(top_builddir)/libs/srtp/libvlc_srtp.la
libstream_out_rtp_plugin_la_CFLAGS += -DHAVE_SRTP $(SRTP_CFLAGS)
libstream_out_rtp_plugin_la_LIBADD += $(SRTP_LIBS)
libstream_out_rtp_plugin_la_DEPENDENCIES += $(SRTP_LIBS)
endif
modules/stream_out/rtp.c
View file @
f9d4a5ab
...
...
@@ -40,7 +40,9 @@
#include <vlc_charset.h>
#include <vlc_strings.h>
#include <vlc_rand.h>
#include <srtp.h>
#ifdef HAVE_SRTP
# include <srtp.h>
#endif
#include "rtp.h"
...
...
@@ -201,10 +203,12 @@ vlc_module_begin ()
add_bool
(
SOUT_CFG_PREFIX
"rtcp-mux"
,
false
,
NULL
,
RTCP_MUX_TEXT
,
RTCP_MUX_LONGTEXT
,
false
)
#ifdef HAVE_SRTP
add_string
(
SOUT_CFG_PREFIX
"key"
,
""
,
NULL
,
SRTP_KEY_TEXT
,
SRTP_KEY_LONGTEXT
,
false
)
add_string
(
SOUT_CFG_PREFIX
"salt"
,
""
,
NULL
,
SRTP_SALT_TEXT
,
SRTP_SALT_LONGTEXT
,
false
)
#endif
add_bool
(
SOUT_CFG_PREFIX
"mp4a-latm"
,
false
,
NULL
,
RFC3016_TEXT
,
RFC3016_LONGTEXT
,
false
)
...
...
@@ -312,7 +316,9 @@ struct sout_stream_id_t
/* Packetizer specific fields */
int
i_mtu
;
#ifdef HAVE_SRTP
srtp_session_t
*
srtp
;
#endif
pf_rtp_packetizer_t
pf_packetize
;
/* Packets sinks */
...
...
@@ -938,9 +944,11 @@ static sout_stream_id_t *Add( sout_stream_t *p_stream, es_format_t *p_fmt )
id
->
i_mtu
=
576
-
20
-
8
;
/* pessimistic */
msg_Dbg
(
p_stream
,
"maximum RTP packet size: %d bytes"
,
id
->
i_mtu
);
id
->
srtp
=
NULL
;
id
->
pf_packetize
=
NULL
;
#ifdef HAVE_SRTP
id
->
srtp
=
NULL
;
char
*
key
=
var_CreateGetNonEmptyString
(
p_stream
,
SOUT_CFG_PREFIX
"key"
);
if
(
key
)
{
...
...
@@ -963,6 +971,7 @@ static sout_stream_id_t *Add( sout_stream_t *p_stream, es_format_t *p_fmt )
}
id
->
i_sequence
=
0
;
/* FIXME: awful hack for libvlc_srtp */
}
#endif
vlc_mutex_init
(
&
id
->
lock_sink
);
id
->
sinkc
=
0
;
...
...
@@ -1342,8 +1351,10 @@ static int Del( sout_stream_t *p_stream, sout_stream_id_t *id )
vlc_join
(
id
->
listen
.
thread
,
NULL
);
net_ListenClose
(
id
->
listen
.
fd
);
}
#ifdef HAVE_SRTP
if
(
id
->
srtp
!=
NULL
)
srtp_destroy
(
id
->
srtp
);
#endif
vlc_mutex_destroy
(
&
id
->
lock_sink
);
...
...
@@ -1503,6 +1514,7 @@ static void* ThreadSend( vlc_object_t *p_this )
block_t
*
out
=
block_FifoGet
(
id
->
p_fifo
);
block_cleanup_push
(
out
);
#ifdef HAVE_SRTP
if
(
id
->
srtp
)
{
/* FIXME: this is awfully inefficient */
size_t
len
=
out
->
i_buffer
;
...
...
@@ -1522,8 +1534,8 @@ static void* ThreadSend( vlc_object_t *p_this )
else
out
->
i_buffer
=
len
;
}
if
(
out
)
#endif
mwait
(
out
->
i_dts
+
i_caching
);
vlc_cleanup_pop
();
if
(
out
==
NULL
)
...
...
@@ -1538,7 +1550,9 @@ static void* ThreadSend( vlc_object_t *p_this )
for
(
int
i
=
0
;
i
<
id
->
sinkc
;
i
++
)
{
#ifdef HAVE_SRTP
if
(
!
id
->
srtp
)
/* FIXME: SRTCP support */
#endif
SendRTCP
(
id
->
sinkv
[
i
].
rtcp
,
out
);
if
(
send
(
id
->
sinkv
[
i
].
rtp_fd
,
out
->
p_buffer
,
len
,
0
)
>=
0
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment