static void gst_buffer_pool_init (GstBufferPool * pool) { GstBufferPoolPrivate *priv; priv = pool->priv = GST_BUFFER_POOL_GET_PRIVATE (pool); g_rec_mutex_init (&priv->rec_lock); priv->poll = gst_poll_new_timer (); priv->queue = gst_atomic_queue_new (10); pool->flushing = 1; priv->active = FALSE; priv->configured = FALSE; priv->started = FALSE; priv->config = gst_structure_new_id_empty (GST_QUARK (BUFFER_POOL_CONFIG)); gst_buffer_pool_config_set_params (priv->config, NULL, 0, 0, 0); priv->allocator = NULL; gst_allocation_params_init (&priv->params); gst_buffer_pool_config_set_allocator (priv->config, priv->allocator, &priv->params); gst_poll_write_control (priv->poll); GST_DEBUG_OBJECT (pool, "created"); }
static void gst_shout2send_init (GstShout2send * shout2send) { gst_base_sink_set_sync (GST_BASE_SINK (shout2send), FALSE); shout2send->timer = gst_poll_new_timer (); shout2send->ip = g_strdup (DEFAULT_IP); shout2send->port = DEFAULT_PORT; shout2send->password = g_strdup (DEFAULT_PASSWORD); shout2send->username = g_strdup (DEFAULT_USERNAME); shout2send->streamname = g_strdup (DEFAULT_STREAMNAME); shout2send->description = g_strdup (DEFAULT_DESCRIPTION); shout2send->genre = g_strdup (DEFAULT_GENRE); shout2send->mount = g_strdup (DEFAULT_MOUNT); shout2send->url = g_strdup (DEFAULT_URL); shout2send->protocol = DEFAULT_PROTOCOL; shout2send->ispublic = DEFAULT_PUBLIC; shout2send->tags = gst_tag_list_new_empty (); shout2send->conn = NULL; shout2send->audio_format = SHOUT_FORMAT_VORBIS; shout2send->connected = FALSE; shout2send->songmetadata = NULL; shout2send->songartist = NULL; shout2send->songtitle = NULL; }
static void gst_bus_constructed (GObject * object) { GstBus *bus = GST_BUS_CAST (object); if (bus->priv->enable_async) { bus->priv->poll = gst_poll_new_timer (); gst_poll_get_read_gpollfd (bus->priv->poll, &bus->priv->pollfd); } }
static void gst_bus_constructed (GObject * object) { GstBus *bus = GST_BUS_CAST (object); if (bus->priv->enable_async) { bus->priv->poll = gst_poll_new_timer (); gst_poll_get_read_gpollfd (bus->priv->poll, &bus->priv->pollfd); } G_OBJECT_CLASS (gst_bus_parent_class)->constructed (object); }
static void gst_cpu_throttling_clock_init (GstCpuThrottlingClock * self) { self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GST_TYPE_CPU_THROTTLING_CLOCK, GstCpuThrottlingClockPrivate); self->priv->current_wait_time = GST_MSECOND; self->priv->wanted_cpu_usage = 100; self->priv->timer = gst_poll_new_timer (); self->priv->time_between_evals = GST_SECOND / 4; self->priv->sclock = GST_CLOCK (gst_system_clock_obtain ()); getrusage (RUSAGE_SELF, &self->priv->last_usage); }
static void dvb_base_bin_init (DvbBaseBin * dvbbasebin) { DvbBaseBinStream *stream; GstPad *ghost, *pad; int i; dvbbasebin->dvbsrc = gst_element_factory_make ("dvbsrc", NULL); dvbbasebin->buffer_queue = gst_element_factory_make ("queue", NULL); dvbbasebin->tsparse = gst_element_factory_make ("tsparse", NULL); g_object_set (dvbbasebin->buffer_queue, "max-size-buffers", 0, "max-size-bytes", 0, "max-size-time", (guint64) 0, NULL); gst_bin_add_many (GST_BIN (dvbbasebin), dvbbasebin->dvbsrc, dvbbasebin->buffer_queue, dvbbasebin->tsparse, NULL); gst_element_link_many (dvbbasebin->dvbsrc, dvbbasebin->buffer_queue, dvbbasebin->tsparse, NULL); /* Proxy dvbsrc signals */ g_signal_connect (dvbbasebin->dvbsrc, "tuning-start", G_CALLBACK (tuning_start_signal_cb), dvbbasebin); g_signal_connect (dvbbasebin->dvbsrc, "tuning-done", G_CALLBACK (tuning_done_signal_cb), dvbbasebin); g_signal_connect (dvbbasebin->dvbsrc, "tuning-fail", G_CALLBACK (tuning_fail_signal_cb), dvbbasebin); /* Expose tsparse source pad */ if (dvbbasebin->tsparse != NULL) { pad = gst_element_get_static_pad (dvbbasebin->tsparse, "src"); ghost = gst_ghost_pad_new ("src", pad); } else { ghost = gst_ghost_pad_new_no_target ("src", GST_PAD_SRC); } gst_element_add_pad (GST_ELEMENT (dvbbasebin), ghost); dvbbasebin->programs = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, dvb_base_bin_program_destroy); dvbbasebin->streams = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_free); dvbbasebin->pmtlist = NULL; dvbbasebin->pmtlist_changed = FALSE; dvbbasebin->disposed = FALSE; dvb_base_bin_reset (dvbbasebin); /* add PAT, CAT, NIT, SDT, EIT, TDT to pids filter for dvbsrc */ i = 0; while (initial_pids[i] >= 0) { stream = dvb_base_bin_add_stream (dvbbasebin, (guint16) initial_pids[i]); dvb_base_bin_ref_stream (stream); i++; } dvb_base_bin_rebuild_filter (dvbbasebin); g_rec_mutex_init (&dvbbasebin->lock); dvbbasebin->task = gst_task_new ((GstTaskFunction) dvb_base_bin_task, dvbbasebin, NULL); gst_task_set_lock (dvbbasebin->task, &dvbbasebin->lock); dvbbasebin->poll = gst_poll_new_timer (); }