From: Wim Taymans Date: Mon, 24 Jun 2013 15:11:35 +0000 (+0200) Subject: udpsink: bind to the given interface X-Git-Tag: 1.19.3~509^2~5678 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=35f6e79b947dbcefc4573898b7d6f135161676c0;p=platform%2Fupstream%2Fgstreamer.git 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 --- 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)