summaryrefslogtreecommitdiffstats
path: root/gst/udp
diff options
context:
space:
mode:
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 07268509..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 =
@@ -155,7 +160,6 @@ gst_udp_set_loop_ttl (int sockfd, gboolean loop, int ttl)
errno = EAFNOSUPPORT;
#endif
}
-#endif
return ret;
}