static void gst_eglglessink_init (GstEglGlesSink * eglglessink, GstEglGlesSinkClass * gclass) { /* Init defaults */ /** Flags */ eglglessink->have_window = FALSE; eglglessink->egl_started = FALSE; eglglessink->using_own_window = FALSE; /** Props */ eglglessink->create_window = TRUE; eglglessink->force_aspect_ratio = TRUE; eglglessink->render_region.x = 0; eglglessink->render_region.y = 0; eglglessink->render_region.w = -1; eglglessink->render_region.h = -1; eglglessink->render_region_changed = TRUE; eglglessink->render_region_user = FALSE; eglglessink->par_n = 1; eglglessink->par_d = 1; eglglessink->render_lock = g_mutex_new (); eglglessink->render_cond = g_cond_new (); eglglessink->queue = gst_data_queue_new (queue_check_full_func, NULL); eglglessink->last_flow = GST_FLOW_WRONG_STATE; eglglessink->egl_context = gst_egl_adaptation_new (GST_ELEMENT_CAST (eglglessink)); }
static void gst_scream_queue_init(GstScreamQueue *self) { self->sink_pad = gst_pad_new_from_static_template(&sink_template, "sink"); gst_pad_set_chain_function(self->sink_pad, GST_DEBUG_FUNCPTR(gst_scream_queue_sink_chain)); gst_pad_set_event_function(self->sink_pad, GST_DEBUG_FUNCPTR(gst_scream_queue_sink_event)); GST_PAD_SET_PROXY_CAPS(self->sink_pad); gst_element_add_pad(GST_ELEMENT(self), self->sink_pad); self->src_pad = gst_pad_new_from_static_template(&src_template, "src"); gst_pad_set_event_function(self->src_pad, GST_DEBUG_FUNCPTR(gst_scream_queue_src_event)); GST_PAD_SET_PROXY_CAPS(self->src_pad); gst_element_add_pad(GST_ELEMENT(self), self->src_pad); g_rw_lock_init(&self->lock); self->streams = g_hash_table_new_full(NULL, NULL, NULL, (GDestroyNotify) destroy_stream); self->adapted_stream_ids = g_hash_table_new(NULL, NULL); self->ignored_stream_ids = g_hash_table_new(NULL, NULL); self->scream_controller_id = DEFAULT_GST_SCREAM_CONTROLLER_ID; self->scream_controller = NULL; self->approved_packets = gst_data_queue_new( (GstDataQueueCheckFullFunction)fake_queue_check_full_cb, NULL, NULL, self); self->incoming_packets = g_async_queue_new(); self->priority = DEFAULT_PRIORITY; self->pass_through = DEFAULT_PASS_THROUGH; self->next_approve_time = 0; }
static void gst_splitmux_part_pad_init (GstSplitMuxPartPad * pad) { pad->queue = gst_data_queue_new (splitmux_data_queue_is_full_cb, NULL, NULL, pad); gst_segment_init (&pad->segment, GST_FORMAT_UNDEFINED); gst_segment_init (&pad->orig_segment, GST_FORMAT_UNDEFINED); }
static void gst_sctp_enc_init(GstSctpEnc *self) { self->sctp_association_id = DEFAULT_GST_SCTP_ASSOCIATION_ID; self->remote_sctp_port = DEFAULT_REMOTE_SCTP_PORT; self->sctp_association = NULL; self->outbound_sctp_packet_queue = gst_data_queue_new(data_queue_check_full_cb, data_queue_full_cb, data_queue_empty_cb, NULL); self->src_pad = gst_pad_new_from_static_template(&src_template, "src"); gst_pad_set_event_function(self->src_pad, GST_DEBUG_FUNCPTR((GstPadEventFunction)gst_sctp_enc_src_event)); gst_pad_set_activatemode_function (self->src_pad, GST_DEBUG_FUNCPTR (gst_sctp_enc_src_activate_mode)); gst_element_add_pad(GST_ELEMENT(self), self->src_pad); g_queue_init(&self->pending_pads); }
static void gst_sctp_dec_pad_init(GstSctpDecPad *self) { self->packet_queue = gst_data_queue_new(data_queue_check_full_cb, data_queue_full_cb, data_queue_empty_cb, NULL); }