Exemplo n.º 1
0
static void
kms_recorder_endpoint_init (KmsRecorderEndpoint * self)
{
  GError *err = NULL;

  self->priv = KMS_RECORDER_ENDPOINT_GET_PRIVATE (self);

  g_mutex_init (&self->priv->base_time_lock);

  self->priv->srcs = g_hash_table_new_full (g_str_hash, g_str_equal, g_free,
      g_object_unref);

  self->priv->profile = KMS_RECORDING_PROFILE_NONE;

  self->priv->paused_time = G_GUINT64_CONSTANT (0);
  self->priv->paused_start = GST_CLOCK_TIME_NONE;

  self->priv->sink_pad_data = g_hash_table_new_full (g_str_hash, g_str_equal,
      g_free, (GDestroyNotify) sink_pad_data_destroy);

  self->priv->stats.avg_e2e = g_hash_table_new_full (g_str_hash, g_str_equal,
      g_free, (GDestroyNotify) kms_ref_struct_unref);
  self->priv->stats.id = g_strdup ("recorder-id");

  g_cond_init (&self->priv->state_manager.cond);

  self->priv->pool = gst_task_pool_new ();
  gst_task_pool_prepare (self->priv->pool, &err);

  if (G_UNLIKELY (err != NULL)) {
    g_warning ("%s", err->message);
    g_error_free (err);
  }
}
Exemplo n.º 2
0
static void
init_klass_pool (GstTaskClass * klass)
{
  g_static_mutex_lock (&pool_lock);
  if (klass->pool) {
    gst_task_pool_cleanup (klass->pool);
    gst_object_unref (klass->pool);
  }
  klass->pool = gst_task_pool_new ();
  gst_task_pool_prepare (klass->pool, NULL);
  g_static_mutex_unlock (&pool_lock);
}
Exemplo n.º 3
0
GstTaskPool *
gst_task_pool_get_default (void)
{
  static GstTaskPool *pool = NULL;

  if (g_once_init_enter (&pool)) {
    GstTaskPool *_pool = gst_task_pool_new ();

    gst_task_pool_prepare (_pool, NULL);
    g_once_init_leave (&pool, _pool);
  }

  return gst_object_ref (pool);
}