static void gst_clock_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { GstClock *clock; GstClockPrivate *priv; clock = GST_CLOCK (object); priv = clock->priv; switch (prop_id) { case PROP_WINDOW_SIZE: GST_CLOCK_SLAVE_LOCK (clock); priv->window_size = g_value_get_int (value); priv->window_threshold = MIN (priv->window_threshold, priv->window_size); priv->times = g_renew (GstClockTime, priv->times, 4 * priv->window_size); /* restart calibration */ priv->filling = TRUE; priv->time_index = 0; GST_CLOCK_SLAVE_UNLOCK (clock); break; case PROP_WINDOW_THRESHOLD: GST_CLOCK_SLAVE_LOCK (clock); priv->window_threshold = MIN (g_value_get_int (value), priv->window_size); GST_CLOCK_SLAVE_UNLOCK (clock); break; case PROP_TIMEOUT: gst_clock_set_timeout (clock, g_value_get_uint64 (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void gst_net_client_clock_init (GstNetClientClock * self) { GstClock *clock = GST_CLOCK_CAST (self); GstNetClientClockPrivate *priv; self->priv = priv = GST_NET_CLIENT_CLOCK_GET_PRIVATE (self); priv->port = DEFAULT_PORT; priv->address = g_strdup (DEFAULT_ADDRESS); gst_clock_set_timeout (clock, DEFAULT_TIMEOUT); priv->thread = NULL; priv->servaddr = NULL; }
static void gst_net_client_internal_clock_init (GstNetClientInternalClock * self) { GST_OBJECT_FLAG_SET (self, GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC); self->port = DEFAULT_PORT; self->address = g_strdup (DEFAULT_ADDRESS); self->is_ntp = FALSE; gst_clock_set_timeout (GST_CLOCK (self), DEFAULT_TIMEOUT); self->thread = NULL; self->servaddr = NULL; self->rtt_avg = GST_CLOCK_TIME_NONE; self->roundtrip_limit = DEFAULT_ROUNDTRIP_LIMIT; self->minimum_update_interval = DEFAULT_MINIMUM_UPDATE_INTERVAL; self->last_remote_poll_interval = GST_CLOCK_TIME_NONE; self->skipped_updates = 0; self->last_rtts_missing = MEDIAN_PRE_FILTERING_WINDOW; }