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

RTP: add UDP-Lite support

parent f10ba0d3
...@@ -89,6 +89,7 @@ vlc_module_begin (); ...@@ -89,6 +89,7 @@ vlc_module_begin ();
change_integer_range (0, 32767); change_integer_range (0, 32767);
add_shortcut ("rtp"); add_shortcut ("rtp");
add_shortcut ("udplite");
vlc_module_end (); vlc_module_end ();
/* /*
...@@ -99,6 +100,15 @@ vlc_module_end (); ...@@ -99,6 +100,15 @@ vlc_module_end ();
* - support for access_filter in case of stream_Demux (MPEG-TS) * - support for access_filter in case of stream_Demux (MPEG-TS)
*/ */
#ifndef IPPROTO_DCCP
# define IPPROTO_DCCP 33 /* IANA */
#endif
#ifndef IPPROTO_UDPLITE
# define IPPROTO_UDPLITE 136 /* from IANA */
#endif
/* /*
* Local prototypes * Local prototypes
*/ */
...@@ -112,8 +122,14 @@ static int extract_port (char **phost); ...@@ -112,8 +122,14 @@ static int extract_port (char **phost);
static int Open (vlc_object_t *obj) static int Open (vlc_object_t *obj)
{ {
demux_t *demux = (demux_t *)obj; demux_t *demux = (demux_t *)obj;
int tp; /* transport protocol */
if (strcmp (demux->psz_access, "rtp")) if (!strcmp (demux->psz_access, "rtp"))
tp = IPPROTO_UDP;
else
if (!strcmp (demux->psz_access, "udplite"))
tp = IPPROTO_UDPLITE;
else
return VLC_EGENERIC; return VLC_EGENERIC;
char *tmp = strdup (demux->psz_path); char *tmp = strdup (demux->psz_path);
...@@ -134,11 +150,11 @@ static int Open (vlc_object_t *obj) ...@@ -134,11 +150,11 @@ static int Open (vlc_object_t *obj)
dport = 5004; /* avt-profile-1 port */ dport = 5004; /* avt-profile-1 port */
/* Try to connect */ /* Try to connect */
int fd = net_OpenDgram (obj, dhost, dport, shost, sport, int fd = net_OpenDgram (obj, dhost, dport, shost, sport, AF_UNSPEC, tp);
AF_UNSPEC, IPPROTO_UDP);
free (tmp); free (tmp);
if (fd == -1) if (fd == -1)
return VLC_EGENERIC; return VLC_EGENERIC;
net_SetCSCov (fd, -1, 12);
/* Initializes demux */ /* Initializes demux */
demux_sys_t *p_sys = malloc (sizeof (*p_sys)); demux_sys_t *p_sys = malloc (sizeof (*p_sys));
......
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