[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