multiidpsink: warn when setsockopt fails
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Mon, 21 Apr 2014 12:32:40 +0000 (13:32 +0100)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Mon, 21 Apr 2014 16:21:20 +0000 (17:21 +0100)
This doesn't seem to be fatal, but it's good to let the user know
in the logs.

Coverity 1139630

gst/udp/gstmultiudpsink.c

index fc94c8f..988de2d 100644 (file)
@@ -1139,12 +1139,18 @@ gst_multiudpsink_start (GstBaseSink * bsink)
 #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 (setsockopt (g_socket_get_fd (sink->used_socket), SOL_SOCKET,
+              SO_BINDTODEVICE, sink->multi_iface,
+              strlen (sink->multi_iface)) < 0)
+        GST_WARNING_OBJECT (sink, "setsockopt SO_BINDTODEVICE failed: %s",
+            strerror (errno));
     }
     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));
+      if (setsockopt (g_socket_get_fd (sink->used_socket_v6), SOL_SOCKET,
+              SO_BINDTODEVICE, sink->multi_iface,
+              strlen (sink->multi_iface)) < 0)
+        GST_WARNING_OBJECT (sink, "setsockopt SO_BINDTODEVICE failed (v6): %s",
+            strerror (errno));
     }
   }
 #endif