static void kms_recorder_end_point_init (KmsRecorderEndPoint * self) { GstBus *bus; self->priv = KMS_RECORDER_END_POINT_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_composite_mixer_init (KmsCompositeMixer * self) { self->priv = KMS_COMPOSITE_MIXER_GET_PRIVATE (self); g_rec_mutex_init (&self->priv->mutex); self->priv->ports = g_hash_table_new_full (g_int_hash, g_int_equal, release_gint, kms_composite_mixer_port_data_destroy); //TODO:Obtain the dimensions of the bigger input stream self->priv->output_height = 600; self->priv->output_width = 800; self->priv->n_elems = 0; self->priv->loop = kms_loop_new (); }
static void kms_alpha_blending_init (KmsAlphaBlending * self) { self->priv = KMS_ALPHA_BLENDING_GET_PRIVATE (self); g_rec_mutex_init (&self->priv->mutex); self->priv->ports = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, (GDestroyNotify) kms_alpha_blending_port_data_destroy); self->priv->n_elems = 0; self->priv->master_port = 0; self->priv->z_master = 5; self->priv->output_height = 480; self->priv->output_width = 640; self->priv->loop = kms_loop_new (); }
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); }
static void kms_player_end_point_init (KmsPlayerEndPoint * self) { GstBus *bus; self->priv = KMS_PLAYER_END_POINT_GET_PRIVATE (self); self->priv->loop = kms_loop_new (); self->priv->pipeline = gst_pipeline_new ("pipeline"); self->priv->uridecodebin = gst_element_factory_make ("uridecodebin", URIDECODEBIN); gst_bin_add (GST_BIN (self->priv->pipeline), self->priv->uridecodebin); 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); /* Connect to signals */ g_signal_connect (self->priv->uridecodebin, "pad-added", G_CALLBACK (pad_added), self); g_signal_connect (self->priv->uridecodebin, "pad-removed", G_CALLBACK (pad_removed), self); }