index db3215aa743db602ac46d4d7d3133885dd9af6ff..dacdd87f25362018738ba0e324ffe62c7d5c76fa 100644 (file)
(GstObject *) g_value_get_object (value));
break;
case PROP_ACTIVE:
- gst_atomic_int_set (&self->active.active, g_value_get_boolean (value));
+ g_atomic_int_set (&self->active.active, g_value_get_boolean (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
{
gint ru;
struct sockaddr_in my_addr;
- guint len;
+ socklen_t len;
int port;
gint ret;
- GError *error;
+ GError *error = NULL;
if ((ret = socket (AF_INET, SOCK_DGRAM, 0)) < 0)
goto no_socket;
my_addr.sin_family = AF_INET; /* host byte order */
my_addr.sin_port = htons ((gint16) self->port); /* short, network byte order */
my_addr.sin_addr.s_addr = INADDR_ANY;
- if (self->address)
- inet_aton (self->address, &my_addr.sin_addr);
+ if (self->address) {
+ ret = inet_aton (self->address, &my_addr.sin_addr);
+ if (ret == 0)
+ goto invalid_address_error;
+ }
GST_DEBUG_OBJECT (self, "binding on port %d", self->port);
ret =
gst_poll_add_fd (self->priv->fdset, &self->priv->sock);
gst_poll_fd_ctl_read (self->priv->fdset, &self->priv->sock, TRUE);
+#if !GLIB_CHECK_VERSION (2, 31, 0)
self->thread = g_thread_create (gst_net_time_provider_thread, self, TRUE,
&error);
- if (!self->thread)
+#else
+ self->thread = g_thread_try_new ("GstNetTimeProvider",
+ gst_net_time_provider_thread, self, &error);
+#endif
+
+ if (error != NULL)
goto no_thread;
return TRUE;
g_strerror (errno), errno);
return FALSE;
}
+invalid_address_error:
+ {
+ close (self->priv->sock.fd);
+ self->priv->sock.fd = -1;
+ GST_ERROR_OBJECT (self, "invalid network address %s: %s (%d)",
+ self->address, g_strerror (errno), errno);
+ return FALSE;
+ }
bind_error:
{
close (self->priv->sock.fd);