]> git.sesse.net Git - vlc/blobdiff - src/network/udp.c
Use waitpipe when establishing an outgoing network connection
[vlc] / src / network / udp.c
index a73f9992b1d4db605c3c11b9924998199a63c74f..5900b760bfcdd11ff5a7e910b01710b733effc40 100644 (file)
 /*****************************************************************************
  * Preamble
  *****************************************************************************/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
 #include <vlc/vlc.h>
 
 #include <errno.h>
 #   endif
 #endif
 
+#ifdef HAVE_LINUX_DCCP_H
+# include <linux/dccp.h>
+# ifndef SOCK_DCCP /* provisional API */
+#  define SOCK_DCCP 6
+# endif
+#endif
+
 #ifndef SOL_IP
 # define SOL_IP IPPROTO_IP
 #endif
 # define IPPROTO_UDPLITE 136 /* IANA */
 #endif
 
-#ifdef HAVE_LINUX_DCCP_H
-# include <linux/dccp.h>
-# ifndef SOCK_DCCP /* provisional API */
-#  define SOCK_DCCP 6
-# endif
-#endif
-
 #if defined (HAVE_NETINET_UDPLITE_H)
 # include <netinet/udplite.h>
 #elif defined (__linux__)
@@ -379,7 +383,7 @@ net_IPv6Join (vlc_object_t *obj, int fd, const struct sockaddr_in6 *src)
 
     msg_Dbg (obj, "IPV6_JOIN_GROUP multicast request");
 
-    if (!setsockopt (fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, &gr6, sizeof (gr6)))
+    if (!setsockopt (fd, SOL_IPV6, IPV6_JOIN_GROUP, &gr6, sizeof (gr6)))
         return 0;
 #else
     errno = ENOSYS;
@@ -623,12 +627,12 @@ int __net_ConnectDgram( vlc_object_t *p_this, const char *psz_host, int i_port,
     memset( &hints, 0, sizeof( hints ) );
     hints.ai_socktype = SOCK_DGRAM;
 
-    msg_Dbg( p_this, "net: connecting to %s port %d", psz_host, i_port );
+    msg_Dbg( p_this, "net: connecting to [%s]:%d", psz_host, i_port );
 
     i_val = vlc_getaddrinfo( p_this, psz_host, i_port, &hints, &res );
     if( i_val )
     {
-        msg_Err( p_this, "cannot resolve %s port %d : %s", psz_host, i_port,
+        msg_Err( p_this, "cannot resolve [%s]:%d : %s", psz_host, i_port,
                  vlc_gai_strerror( i_val ) );
         return -1;
     }
@@ -878,6 +882,10 @@ int net_SetCSCov (int fd, int sendcov, int recvcov)
             return VLC_SUCCESS;
 #endif
     }
+#if !defined( UDPLITE_RECV_CSCOV ) && !defined( DCCP_SOCKOPT_SEND_CSCOV )
+    VLC_UNUSED(sendcov);
+    VLC_UNUSED(recvcov);
+#endif
 
     return VLC_EGENERIC;
 }