diff options
author | Thomas Vander Stichele <thomas (at) apestaart (dot) org> | 2009-03-02 09:43:30 +0100 |
---|---|---|
committer | Thomas Vander Stichele <thomas (at) apestaart (dot) org> | 2009-03-02 09:43:30 +0100 |
commit | 9f25f96155b246663a1f900624ccda4b9eafcded (patch) | |
tree | 029a4a4e8e96dc27e5f3ba38615bcfe9bee64455 /gst/udp/gstudpnetutils.c | |
parent | 13221762d09f8faacfbd682e68500ff22e6eb8ab (diff) | |
parent | 0083b9e40569db889500a3c1abd7ec3ac8876fee (diff) |
Merge branch 'master' of ssh://thomasvs@git.freedesktop.org/git/gstreamer/gst-plugins-good
Diffstat (limited to 'gst/udp/gstudpnetutils.c')
-rw-r--r-- | gst/udp/gstudpnetutils.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/gst/udp/gstudpnetutils.c b/gst/udp/gstudpnetutils.c index a1588caa..5fa7593a 100644 --- a/gst/udp/gstudpnetutils.c +++ b/gst/udp/gstudpnetutils.c @@ -115,12 +115,17 @@ beach: int gst_udp_set_loop_ttl (int sockfd, gboolean loop, int ttl) { + socklen_t socklen; + struct sockaddr_storage addr; int ret = -1; - -#if 0 int l = (loop == FALSE) ? 0 : 1; - switch (addr->ss_family) { + socklen = sizeof (addr); + if ((ret = getsockname (sockfd, (struct sockaddr *) &addr, &socklen)) < 0) { + return ret; + } + + switch (addr.ss_family) { case AF_INET: { if ((ret = @@ -149,9 +154,12 @@ gst_udp_set_loop_ttl (int sockfd, gboolean loop, int ttl) break; } default: +#ifdef G_OS_WIN32 + WSASetLastError (WSAEAFNOSUPPORT); +#else errno = EAFNOSUPPORT; - } #endif + } return ret; } |