From 35f6e79b947dbcefc4573898b7d6f135161676c0 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 24 Jun 2013 17:11:35 +0200 Subject: [PATCH] udpsink: bind to the given interface Actually call BINDTODEVICE to bind to the interface as given by the property. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702819 --- gst/udp/gstmultiudpsink.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gst/udp/gstmultiudpsink.c b/gst/udp/gstmultiudpsink.c index c11ff06..cb2674b 100644 --- a/gst/udp/gstmultiudpsink.c +++ b/gst/udp/gstmultiudpsink.c @@ -1132,6 +1132,19 @@ gst_multiudpsink_start (GstBaseSink * bsink) } #endif +#ifdef SO_BINDTODEVICE + if (sink->multi_iface) { + if (sink->used_socket) { + setsockopt (g_socket_get_fd (sink->used_socket), SOL_SOCKET, + SO_BINDTODEVICE, sink->multi_iface, strlen (sink->multi_iface)); + } + if (sink->used_socket_v6) { + setsockopt (g_socket_get_fd (sink->used_socket_v6), SOL_SOCKET, + SO_BINDTODEVICE, sink->multi_iface, strlen (sink->multi_iface)); + } + } +#endif + if (sink->used_socket) g_socket_set_broadcast (sink->used_socket, TRUE); if (sink->used_socket_v6) -- 2.7.4