diff options
Diffstat (limited to 'gst/udp/gstmultiudpsink.c')
-rw-r--r-- | gst/udp/gstmultiudpsink.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gst/udp/gstmultiudpsink.c b/gst/udp/gstmultiudpsink.c index d43f1ff9..95d15ab3 100644 --- a/gst/udp/gstmultiudpsink.c +++ b/gst/udp/gstmultiudpsink.c @@ -374,6 +374,7 @@ gst_multiudpsink_render (GstBaseSink * bsink, GstBuffer * buffer) gint ret, size, num = 0; guint8 *data; GList *clients; + gint len; sink = GST_MULTIUDPSINK (bsink); @@ -395,12 +396,13 @@ gst_multiudpsink_render (GstBaseSink * bsink, GstBuffer * buffer) GST_LOG_OBJECT (sink, "sending %d bytes to client %p", size, client); while (TRUE) { + len = gst_udp_get_sockaddr_length (&client->theiraddr); #ifdef G_OS_WIN32 ret = sendto (*client->sock, (char *) data, size, 0, #else ret = sendto (*client->sock, data, size, 0, #endif - (struct sockaddr *) &client->theiraddr, sizeof (client->theiraddr)); + (struct sockaddr *) &client->theiraddr, len); if (ret < 0) { /* we get a non-posix EPERM on Linux when a firewall rule blocks this * destination. We will simply ignore this. */ |