[vlc-devel] commit: vlc_getaddrinfo -> getaddrinfo, and set sane hints ( Rémi Denis-Courmont )

git version control git at videolan.org
Wed May 28 17:48:15 CEST 2008


vlc | branch: master | Rémi Denis-Courmont <rem at videolan.org> | Wed May 28 18:48:06 2008 +0300| [eb43a637d79cef96542e0e7f2bf52f82fdebcaf4]

vlc_getaddrinfo -> getaddrinfo, and set sane hints

We really do not want to apply the VLC address family "policy" here.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=eb43a637d79cef96542e0e7f2bf52f82fdebcaf4
---

 modules/stream_out/standard.c |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/modules/stream_out/standard.c b/modules/stream_out/standard.c
index ff561b8..ca3011f 100644
--- a/modules/stream_out/standard.c
+++ b/modules/stream_out/standard.c
@@ -386,24 +386,33 @@ static int Open( vlc_object_t *p_this )
     if( var_GetBool( p_stream, SOUT_CFG_PREFIX"sap" ) )
     {
         /* Create the SDP */
+        static const struct addrinfo hints = {
+            .ai_family = AF_UNSPEC,
+            .ai_socktype = SOCK_DGRAM,
+            .ai_protocol = 0,
+            .ai_flags = AI_NUMERICHOST | AI_NUMERICSERV
+        };
         char *shost = var_GetNonEmptyString (p_access, "src-addr");
         char *dhost = var_GetNonEmptyString (p_access, "dst-addr");
         int sport = var_GetInteger (p_access, "src-port");
         int dport = var_GetInteger (p_access, "dst-port");
+        char port[6];
         struct sockaddr_storage src, dst;
         socklen_t srclen = 0, dstlen = 0;
-
         struct addrinfo *res;
-        if (vlc_getaddrinfo (VLC_OBJECT (p_stream), dhost, dport, NULL, &res) == 0)
+
+        snprintf (port, sizeof (port), "%d", dport);
+        if (getaddrinfo (dhost, port, &hints, &res) == 0)
         {
             memcpy (&dst, res->ai_addr, dstlen = res->ai_addrlen);
-            vlc_freeaddrinfo (res);
+            freeaddrinfo (res);
         }
 
-        if (vlc_getaddrinfo (VLC_OBJECT (p_stream), shost, sport, NULL, &res) == 0)
+        snprintf (port, sizeof (port), "%d", sport);
+        if (getaddrinfo (shost, port, &hints, &res) == 0)
         {
             memcpy (&src, res->ai_addr, srclen = res->ai_addrlen);
-            vlc_freeaddrinfo (res);
+            freeaddrinfo (res);
         }
 
         char *head = vlc_sdp_Start (VLC_OBJECT (p_stream), SOUT_CFG_PREFIX,




More information about the vlc-devel mailing list