Skip to content
Snippets Groups Projects
Commit 5ef30a70 authored by Tim-Philipp Müller's avatar Tim-Philipp Müller :tropical_fish:
Browse files

netclientclock: bind socket before querying local address

Fails on windows otherwise.

https://bugzilla.gnome.org/show_bug.cgi?id=697608
parent e9d7f8cb
No related branches found
No related tags found
No related merge requests found
......@@ -346,6 +346,7 @@ gst_net_client_clock_start (GstNetClientClock * self)
{
GSocketAddress *servaddr;
GSocketAddress *myaddr;
GSocketAddress *anyaddr;
GInetAddress *inetaddr;
GSocket *socket;
GError *error = NULL;
......@@ -359,6 +360,16 @@ gst_net_client_clock_start (GstNetClientClock * self)
if (socket == NULL)
goto no_socket;
GST_DEBUG_OBJECT (self, "binding socket");
inetaddr = g_inet_address_new_any (G_SOCKET_FAMILY_IPV4);
anyaddr = g_inet_socket_address_new (inetaddr, 0);
g_socket_bind (socket, anyaddr, TRUE, &error);
g_object_unref (anyaddr);
g_object_unref (inetaddr);
if (error != NULL)
goto bind_error;
/* check address we're bound to, mostly for debugging purposes */
myaddr = g_socket_get_local_address (socket, &error);
......@@ -403,6 +414,13 @@ no_socket:
g_error_free (error);
return FALSE;
}
bind_error:
{
GST_ERROR_OBJECT (self, "bind failed: %s", error->message);
g_error_free (error);
g_object_unref (socket);
return FALSE;
}
getsockname_error:
{
GST_ERROR_OBJECT (self, "get_local_address() failed: %s", error->message);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment