summaryrefslogtreecommitdiffstats
path: root/gst/udp
diff options
context:
space:
mode:
authorJan Smout <jan dot smout at gmail dot com>2009-02-26 13:19:31 +0100
committerWim Taymans <wim.taymans@collabora.co.uk>2009-02-26 13:19:31 +0100
commit474d9d7a9b9b32bfd66a558be468e7a5b588f992 (patch)
tree02603283fc098e827d0677a63eb210d2871788a5 /gst/udp
parentaf2e8f847017263d2f103f522187e4e6d76a6395 (diff)
udp: fix gst_udp_set_loop_ttl() again
Fix the gst_udp_set_loop_ttl() function that was commented out in a previous commit. See #573115.
Diffstat (limited to 'gst/udp')
-rw-r--r--gst/udp/gstudpnetutils.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/gst/udp/gstudpnetutils.c b/gst/udp/gstudpnetutils.c
index a1588caa..b1f864e3 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 =
@@ -151,7 +156,6 @@ gst_udp_set_loop_ttl (int sockfd, gboolean loop, int ttl)
default:
errno = EAFNOSUPPORT;
}
-#endif
return ret;
}