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); } }
static void kms_recorder_endpoint_init (KmsRecorderEndpoint * self) { GstBus *bus; self->priv = KMS_RECORDER_ENDPOINT_GET_PRIVATE (self); self->priv->loop = kms_loop_new (); self->priv->paused_time = G_GUINT64_CONSTANT (0); self->priv->paused_start = GST_CLOCK_TIME_NONE; /* Create internal pipeline */ self->priv->pipeline = gst_pipeline_new ("recorder-pipeline"); g_object_set (self->priv->pipeline, "async-handling", TRUE, NULL); g_cond_init (&self->priv->state_manager.cond); bus = gst_pipeline_get_bus (GST_PIPELINE (self->priv->pipeline)); gst_bus_set_sync_handler (bus, bus_sync_signal_handler, self, NULL); g_object_unref (bus); self->priv->controller = kms_conf_controller_new (KMS_CONF_CONTROLLER_KMS_ELEMENT, self, KMS_CONF_CONTROLLER_PIPELINE, self->priv->pipeline, NULL); g_signal_connect (self->priv->controller, "matched-elements", G_CALLBACK (matched_elements_cb), self); g_signal_connect (self->priv->controller, "sink-required", G_CALLBACK (sink_required_cb), self); g_signal_connect (self->priv->controller, "sink-unrequired", G_CALLBACK (sink_unrequired_cb), self); }
static void kms_recorder_endpoint_init (KmsRecorderEndpoint * self) { self->priv = KMS_RECORDER_ENDPOINT_GET_PRIVATE (self); g_mutex_init (&self->priv->base_time_lock); self->priv->loop = kms_loop_new (); 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->video_target = NULL; self->priv->audio_target = NULL; g_cond_init (&self->priv->state_manager.cond); }